-1
例如,我举了一个例子。我想在T-SQL中将双精度值转换为指数值
想在这个C#函数的更换T-SQL
sqlReader.GetDouble(i).ToString("E16")
这将是一个原始值 - >1.5
想在这个格式转换 - >1.5000000000000000E+000
例如,我举了一个例子。我想在T-SQL中将双精度值转换为指数值
想在这个C#函数的更换T-SQL
sqlReader.GetDouble(i).ToString("E16")
这将是一个原始值 - >1.5
想在这个格式转换 - >1.5000000000000000E+000
使用REPLICATE
您可以在SQL Server中实现E16
格式:
DECLARE @TestVale AS VARCHAR (5) = '1.5';
SELECT @TestVale + REPLICATE('0', 16 - DATALENGTH(SUBSTRING(@TestVale, CHARINDEX('.', @TestVale) + 1, LEN(@TestVale) - CHARINDEX('.', @TestVale)))) + 'E+000'
通过复制,您可以用当前十进制值替换16个零。
感谢您的回复......您是热指数编码的指数值。但我只需要一个小数点前的小数值。对于例如:如果@TestValue = 15.5你的结果将像'15.5000000000000000E + 000',但我想结果为'1.55000000000000000E + 001' –