2011-11-01 102 views

回答

16

缺省情况下,使用Math.Round的舍入称为Banker's Rounding,其舍入到最接近偶数整数当输入中途两个整数之间的形式。

请参阅Why does .NET use banker's rounding as default?了解此设计决策。

如果你不喜欢这种行为,你总是可以使用this overloadMath.Round,它允许你指定MidPointRoundingMode(ToEven,AwayFromZero)。

+0

@Joey:请从编辑帖子刚后,他们已张贴,尤其是在编辑窗口避免。谢谢。 – Ani

+0

这在技术上是可行的;这篇文章缺乏信息,即使在编辑窗口之后仍然有很多答案。无论如何,您可以恢复或覆盖您在这种情况下所做的更改,那么我所做的工作会受到哪些伤害? – Joey

+0

@Joey:您可能会等待一段时间,因为在编辑窗口期间很有可能正在编辑帖子。在这种情况下,我实际上并没有'重写' - 它实际上是一个冲突编辑的例子。 – Ani