public static double Round(double value, int decimals, MidpointRounding midpointRounding) { var roundingMode = Java.Math.RoundingMode.UNNECESSARY; switch (midpointRounding) { case MidpointRounding.AwayFromZero: roundingMode = Java.Math.RoundingMode.HALF_UP; break; case MidpointRounding.ToEven: roundingMode = Java.Math.RoundingMode.HALF_EVEN; break; } var bigDecimal = new Java.Math.BigDecimal(value); bigDecimal = bigDecimal.SetScale(decimals, roundingMode); return(bigDecimal.DoubleValue()); }
public static double Round(double value, int decimals, MidpointRounding midpointRounding) { var roundingMode = Java.Math.RoundingMode.UNNECESSARY; switch (midpointRounding) { case MidpointRounding.AwayFromZero: roundingMode = Java.Math.RoundingMode.HALF_UP; break; case MidpointRounding.ToEven: roundingMode = Java.Math.RoundingMode.HALF_EVEN; break; } var bigDecimal = new Java.Math.BigDecimal(value); bigDecimal = bigDecimal.SetScale(decimals, roundingMode); return bigDecimal.DoubleValue(); }