以下 SQL,
declare @a as float, @b as float
select @a=1.353954 , @b=1.353956
select
CAST(@a as VARCHAR(40)) AS a_float_to_varchar ,
CAST(@b as VARCHAR(40)) AS b_float_to_varchar
结果
a_float_to_varchar b_float_to_varchar
---------------------------------------- ----------------------------------------
1.35395 1.35396
基于 'float' and 'real' (Transact-SQL) 。
Float 的精度为 15 位,所以我不确定为什么转换为 varchar 时数字会被四舍五入。
最佳答案
也来自您的链接(实际上是第一行):
Approximate-number data types...
如果您想要精确的精度,请不要使用float
。
话虽这么说,有一个函数 STR()专门用于将 float
转换为字符数据类型。
关于sql-server - 为什么在 SQL Server 中从 float 到 varchar 的转换要四舍五入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6512046/