微软中文对 C# Math.Round 中 MidpointRounding.AwayFromZero 的描述是错误的

C# 中四舍五入如下:

我们可以看出,如果不指定第三个参数,则等效为指定 MidpointRounding.ToEven,即向最近的偶数四舍五入

这第三个参数,还有一种情况,即是:MidpointRounding.AwayFromZero,从字面上看,是指向远离 0 的地方四舍五入,什么意思呢,看个示例:

也就是我们通常说的最简单的五入

但是微软 Visual Studio、MSDN 对这个参数的解释是:当一个数字是其他两个数字的中间值时,会将其舍入为两个值中绝对值较小的值。

这是错误的,应该是较大的值,我们看英文版本的解释是:is away from zero,即舍入远离 0 的那个数值,还是英文版本正确。

一般来说,我们习惯见 5 就入,而不是什么靠近偶数,所以一般还是习惯指定 MidpointRounding.AwayFromZero。

相关阅读

  • 数字.ToString 的四舍五入是哪种四舍五入?

你可能感兴趣的