如何在C#中将十进制数舍入为最接近的x.x9

时间:2018-02-08 21:41:03

标签: c#

正如标题所述,我需要将十进制数舍入到以9结尾的下一个2位小数位数。例如:

1.07 -> 1.09
1.11 -> 1.19
1.99 -> 1.99

我已阅读c#的Math.round文档,但我找不到任何可以实现此目的的内容。

我目前的实施是:

x = decimal.Parse(Math.Round(x),2);
x = decimal.Parse(x.ToString().Remove(x.Length -1,1) + "9")

但这看似草率和效率很重要,因为我将处理数以千计的物品。必须有更好的方法。

由于

1 个答案:

答案 0 :(得分:2)

您可以向下舍入数字,然后添加0.09:

Math.Floor(x * 10) / 10 + 0.09