Does an equivalent of Java RoundingMode.HALF_DOWN
exist in C#?
For example, I want to round 1.265
to 1.26
, and 1.266
Have a look at Math.Round e.g.
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);
Outcome:
1.265 -> 1.26
1.266 -> 1.27
Use the .Round
method with the following constructor overload:
public static double Round (double value, int digits, MidpointRounding mode);
Calling like so:
Math.Round(value, 2, MidpointRounding.AwayFromZero);
Here's full documentation.
You can use Math.Round
decimal d = Convert.ToDecimal("1.266");
Console.WriteLine(Math.Round(d, 2));
Console.ReadLine();