数値を四捨五入するには、Math.Round()を使用します。
前提
四捨五入には、通常の四捨五入と銀行丸めの2種類があります。
- 通常の四捨五入:単純に4以下は切捨て、5以上は切上げする方法。
(例)1.4→1.0、1.5→2.0 - 銀行丸め:対象桁の値が5の場合、1つ上桁の数値が偶数になるように丸める方法。
(例)1.5→2.0、2.5→2.0、3.5→4.0、4.5→4.0
通常の四捨五入
通常の四捨五入は、引数にMidpointRounding.AwayFromZeroを指定します。
例)四捨五入するサンプル
//元の数値
double d 123.4567;
//整数に四捨五入する
double d0 = Math.Round(d, MidpointRounding.AwayFromZero);
d0 → 123
//小数第1位で四捨五入
double d1 = Math.Round(d, 1, MidpointRounding.AwayFromZero);
d0 → 123.5
//小数第2位で四捨五入
double d2 = Math.Round(d, 2, MidpointRounding.AwayFromZero);
d0 → 123.46
//小数第3位で四捨五入
double d3 = Math.Round(d, 3, MidpointRounding.AwayFromZero);
d0 → 123.457
銀行丸めの四捨五入
Math.Roundは銀行丸めの四捨五入がデフォルトです。
例)四捨五入するサンプル
//元の数値
double d 123.4567;
//整数に四捨五入する
double d0 = Math.Round(d);
d0 → 123
//小数第1位で四捨五入
double d1 = Math.Round(d, 1);
d0 → 123.5
//小数第2位で四捨五入
double d2 = Math.Round(d, 2);
d0 → 123.46
//小数第3位で四捨五入
double d3 = Math.Round(d, 3);
d0 → 123.457
備考
- Math.Roundは、銀行丸めがデフォルトの四捨五入方法です。
- 銀行丸めは「最近接偶数丸め」とも呼ばれます。
- 通常の四捨五入を行いたい場合は、MidpointRounding.AwayFromZeroを指定する必要があります。