我有这样的声明(SQL Server 2012):
SELECT ROUND(CAST(50.9685 as float), 3) AS Col1 INTO #Test
我想看到结果'50.969',但事实上我看到'50.968'。
使用时小数(10,5)代替float,例如,那么结果将如预期。
为什么会发生这种情况以及如何解决这个问题?
这就是为什么使用浮动是一个坏主意。 50.9685 作为浮点数不是 50.9685,而是 50.968499999999999000。因此,50.968 是预期值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)