为什么Math.Round把0.5变成了0?
我的预期是4舍5入。我发现0.50000001的Round结果就是1,而0.5的Round结果就是0。
10.5的Round结果是10。Round的规则到底是什么样子? MSDN上说, The behavior of this method follows IEEE Standard 754, section 4,
能否解释一下?
------解决方案--------------------四舍六入五成双
double c = Math.Round(5.5); //6.0
double d = Math.Round(6.5); //6.0
------解决方案--------------------http://bbs.csdn.net/topics/390715321
这个帖子对你有帮助,四舍五入的算法结果除了算法本事,还取决于数据类型。
------解决方案--------------------banker's rounding, 向双数方向Round吧