银行家舍入
C#中采用了一种奇怪的舍入算法,叫“银行家舍入“,口诀就是“四舍六入五成双”。
如下:
Math.Round(1.25, 1)=1.2
通常来说,我们会认为其等于1.3。
从零舍入
当然,在C#中也有普通的舍入算法(学名:从零舍入)。
Math.Round(1.25, 1, MidpointRounding.AwayFromZero)=1.3
从零舍入是最广为人知的舍入形式,而舍入到最接近的偶数是财务和统计操作的标准。 它符合 IEEE 标准 754 第 4 节。
参考: