JIS丸め
JIS丸めについてうまく思い出せなかったのでメモ。
種類 | 四捨五入 |
---|---|
一般的 | 0.5以上切り上げ |
JIS丸め | 0.5以外は同じ。0.5が四捨五入後が偶数になるように処理。 |
四捨五入後の値を合計する場合等、通常の四捨五入だと誤差が大きくなるため。 JIS丸めでも偶数や奇数の偏りがあった場合は誤差は発生する(通常の四捨五入より抑えられるが)
ExcelのRound関数は一般的な四捨五入で、ExcelVBAのRoundはJIS丸めなのは有名な話。
C#でも書いてみた。 一般的な四捨五入にするにはMidpointRounding.AwayFromZeroが必要らしい。
static void Main(string[] args) { Console.WriteLine(Math.Round(2.5)); // 2 Console.WriteLine(Math.Round(2.5, MidpointRounding.AwayFromZero)); // 3 }