十火急,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;