C#中是否存在Java RoundingMode.HALF_DOWN
的等价物?
例如,我想将1.265
舍入为 1.26
,1.266
四舍五入为 1.27
。
如果没有,有没有简单的方法可以做到这一点?
看看 Math.Round,例如
double[] tests = new double[] {
1.265,
1.266,
};
var demo = tests
.Select(x => $"{x} -> {Math.Round(x, 2, MidpointRounding.AwayFromZero)}");
var report = string.Join(Environment.NewLine, demo);
Console.Write(report);
结果:
1.265 -> 1.26
1.266 -> 1.27
将 .Round
方法与以下构造函数重载一起使用:
public static double Round (double value, int digits, MidpointRounding mode);
像这样调用:
Math.Round(value, 2, MidpointRounding.AwayFromZero);
这是完整的文档。
您可以使用
Math.Round
decimal d = Convert.ToDecimal("1.266");
Console.WriteLine(Math.Round(d, 2));
Console.ReadLine();