【发布时间】:2013-09-17 18:37:53
【问题描述】:
Math.Round(35.035, 2, MidpointRounding.ToEven) // returns: 35.03
据我了解,以上内容应将数字四舍五入到小数点后两位。该数字介于两个数字35.03 和35.04 之间。
因此,据我所知,我指定舍入为偶数,这意味着最后一个小数位应该是偶数,所以我希望它会舍入到最接近的甚至是35.04。
有人可以向我解释为什么它在小数点后四舍五入到奇数吗?
【问题讨论】:
-
问题是您使用 binary 浮点但关心小数位。您应该使用
decimal例如35.035m在这种情况下。