C#中是否存在等效的Java RoundingMode.HALF_DOWN
?
例如,我想将1.265
舍入为1.26
,将1.266
舍入为1.27
。
如果没有,有简单的方法吗?
答案 0 :(得分:4)
例如,看看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
答案 1 :(得分:1)
将.Round
方法与以下构造函数重载一起使用:
public static double Round (double value, int digits, MidpointRounding mode);
这样打电话:
Math.Round(value, 2, MidpointRounding.AwayFromZero);
答案 2 :(得分:0)
您可以使用Math.Round
decimal d = Convert.ToDecimal("1.266");
Console.WriteLine(Math.Round(d, 2));
Console.ReadLine();