日期:2014-05-18  浏览次数:20745 次

c# 四舍五入问题
比如说Math.Round(0.00145, 4, MidpointRounding.AwayFromZero),0.00145应该是0.0015和0.0014的中间值,取绝对值较大
值的话,按理应该是0.0015,但是结果却是0.0014,我测试很多数据都是对的,唯独这个数就是不对,是我理解错了还是VS2005的
BUG,求大神分析下~!

------解决方案--------------------
这是因为误差,double型数据不是整数,不绝对精确,所以你的0.00145可能表示成0.00144999999999999,四舍五入就成为0.0014了,

------解决方案--------------------
探讨
这是因为误差,double型数据不是整数,不绝对精确,所以你的0.00145可能表示成0.00144999999999999,四舍五入就成为0.0014了,