C# : 整数のN位で四捨五入
C# : 整数のN位で四捨五入
/// <summary> /// 整数のN位で四捨五入 /// Math.Roundは銀行丸めなのでエクセルと同様の四捨五入をする場合はMidpointRounding.AwayFromZeroを設定 /// ex) GetExcelRound(13405, 1) // return 13410 /// ex) GetExcelRound(13405, 2) // return 13400 /// </summary> /// <param name="value"></param> /// <param name="digit"></param> /// <returns></returns> public static double GetExcelRound(double value, int digit) { var val1 = double.Parse((0.01 * Math.Pow(0.1, digit - 1)).ToString(), System.Globalization.NumberStyles.Float); var val2 = 100 * Math.Pow(10, digit - 1); return Math.Round(value * val1, 1, MidpointRounding.AwayFromZero) * val2; }