是否存在允许异常舍入实践的 C# 函数或 Math.Round 重载?

Gaz*_*rok 1 c# rounding math.round

我需要对定价数字进行四舍五入,有点奇怪,如下所示:

传入价格的值将为小数点后 3 位(即 10.333)

如果小数点后第一位数字大于 0,则需要将第一位小数向上舍入。

例如:

10.300 = 10.3,
10.301 = 10.4,
10.333 = 10.4
Run Code Online (Sandbox Code Playgroud)

在我创建一个自定义方法来执行此操作之前,我想知道是否有人知道 Math.Round() 或其他现有包的现有用法/重载以获得所需的结果?

gun*_*171 5

Math.Round有一个接受MidpointRounding枚举值的重载,它允许您指定舍入策略。

就您而言,您总是想要向上舍入,这称为ToPositiveInfinity.

Math.Round(yourValue, 1, System.MidpointRounding.ToPositiveInfinity)
Run Code Online (Sandbox Code Playgroud)