将小数点后四舍五入

时间:2019-01-11 12:12:41

标签: c# math rounding

C#中是否存在等效的Java RoundingMode.HALF_DOWN

例如,我想将1.265舍入为1.26,将1.266舍入为1.27

如果没有,有简单的方法吗?

3 个答案:

答案 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);

Here's full documentation

答案 2 :(得分:0)

您可以使用Math.Round

    decimal d = Convert.ToDecimal("1.266");
    Console.WriteLine(Math.Round(d, 2));

    Console.ReadLine();