如何在c#中四舍五入

本文关键字:四舍五入 | 更新日期: 2023-09-27 17:49:42

我希望在c#中总是四舍五入,例如,从6.88到7,从1.02到2,等等

我该怎么做呢?

如何在c#中四舍五入

使用Math.Ceiling()

double result = Math.Ceiling(1.02);

使用数学。上限:Math.Ceiling(value)

如果存在负值,Math。Round有额外的选项(在。net Core 3或更高版本)。

我做了一个基准测试。Net 5/release), Math.Ceiling()更快更高效。

Math.Round( 6.88, MidpointRounding.ToPositiveInfinity) ==> 7   (~23 clock cycles)
Math.Round(-6.88, MidpointRounding.ToPositiveInfinity) ==> -6  (~23 clock cycles)
Math.Round( 6.88, MidpointRounding.AwayFromZero)       ==> 7   (~23 clock cycles)
Math.Round(-6.88, MidpointRounding.AwayFromZero)       ==> -7  (~23 clock cycles)
Math.Ceiling( 6.88)                                    ==> 7   (~1 clock cycles)
Math.Ceiling(-6.88)                                    ==> -6  (~1 clock cycles)