向下舍入小数点后半



C#中是否存在Java RoundingMode.HALF_DOWN的等价物?

例如,我想将1.265舍入为 1.261.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();

最新更新