首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

十萬火急SQl Server四舍五入的問題,该怎么处理

2012-01-24 
十萬火急,SQl Server四舍五入的問題我從SQLServer里取了數據50和0.3999,可是乘出來的結果確實19.994999,我

十萬火急,SQl Server四舍五入的問題
我從SQL   Server里取了數據50和0.3999,可是乘出來的結果確實19.994999,我保留2位小數,就成了19.99,但實際結果應該是19.995,四舍五入就是20.00啊?這是怎麼回事?那位高手幫忙解決,十萬火急

[解决办法]
select LTRIM(RTRIM(STR(ROUND(50*0.3999, 2),15,2)))
[解决办法]
原因是计算机里面的2进制数不能表示所有的小数,2进制的数是有限的,而小数是无限多的。

如果你是保存2位小数的话,你看能不能在计算之前对0.3999四舍五入。
[解决办法]
是用round方法吧
我知道oracle里的四舍五入是用round()方法
[解决办法]
口算就很方便:( 0.3999/2*100 把小数相乘除变为整数相乘除.
double d=0.3999d;d=d*10000;d=d/200;

热点排行