C# 中四舍五入如下:
我们可以看出,如果不指定第三个参数,则等效为指定 MidpointRounding.ToEven,即向最近的偶数四舍五入。
这第三个参数,还有一种情况,即是:MidpointRounding.AwayFromZero,从字面上看,是指向远离 0 的地方四舍五入,什么意思呢,看个示例:
也就是我们通常说的最简单的五入。
但是微软 Visual Studio、MSDN 对这个参数的解释是:当一个数字是其他两个数字的中间值时,会将其舍入为两个值中绝对值较小的值。
这是错误的,应该是较大的值,我们看英文版本的解释是:is away from zero,即舍入远离 0 的那个数值,还是英文版本正确。
一般来说,我们习惯见 5 就入,而不是什么靠近偶数,所以一般还是习惯指定 MidpointRounding.AwayFromZero。
相关阅读