端数処理 四捨五入と銀行丸め

プログラムで小数点以下のある数字(1.2 とか 1.6 とか)を丸める時、
普通に四捨五入を想定するが、そうではない時がある。

そもそも、四捨五入は、中間である 5 が切りあがるので、下記のようになり、

切りあがる数:5,6,7,8,9
切り捨てる数:1,2,3,4

切りあがる数のほうが多くなる。
なので、丸める回数が多くなると数値が大きくなりやすい。

そこで、四捨五入以外で使われる端数処理で有名なのが、“最近接偶数への丸め”(銀行丸め)である。
これは、中央値である5を、切り上げる際に、偶数になるかならないかで判断する。

0.5 → 0
1.5 → 2
2.5 → 2
3.5 → 4

プログラムでRoundといった関数等で数字を丸める際は、”四捨五入”と”最近接偶数への丸め”とどちらかになる。
想定していない値になりえるので注意が必要。

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>