y=round(x)y = \operatorname{round}(x)

四捨五入 y=round(x)y = \operatorname{round}(x) のグラフ

y=round(x)y = \operatorname{round}(x)xx最も近い整数へ丸める関数で、日本語の四捨五入にあたります1。小数部分が 0.50.5 未満なら切り捨て、0.50.5 より大きければ切り上げます。

xxround(x)\operatorname{round}(x)
2.32.322
2.62.633
1.2-1.21-1
1.6-1.62-2

定義域と値域

定義域はすべての実数で、値域は整数全体です。グラフは幅 11 の水平な線分が並ぶ階段状で、各段は整数を中心とした区間の上にあります。

区間
0.5<x<0.5-0.5 < x < 0.500
0.5<x<1.50.5 < x < 1.511
1.5<x<2.51.5 < x < 2.522

床関数や天井関数では段の切れ目が整数にありましたが、四捨五入では半整数にあります。段が整数を中心に置かれるぶん、丸めの誤差が最も小さくなります。

不連続点と丸めの規約

ちょうど中間の値である半整数 x=n+0.5x = n + 0.5 で不連続になり、値が 11 跳ね上がります。この中間の点をどちらへ丸めるかは規約によって決まります。

規約round(0.5)\operatorname{round}(0.5)round(1.5)\operatorname{round}(1.5)round(2.5)\operatorname{round}(2.5)
0.50.5 を切り上げ112233
偶数丸め(銀行丸め)002222

統計や会計では、切り上げに偏るのを避けるために偶数丸めがよく使われます。負の数や中間値の扱いは実装によって異なるので、確かめてから使うのが安全です。

対称性

半整数を除けば round(x)=round(x)\operatorname{round}(-x) = -\operatorname{round}(x) が成り立ち、原点に関しておおむね点対称です。中間の点だけは、丸めの規約しだいで対称性が崩れることがあります。

他の関数との関係

0.50.5 を切り上げる方式では、床関数を使って次のように書けます。

round(x)=x+0.5\operatorname{round}(x) = \lfloor x + 0.5 \rfloor

つまり四捨五入は床関数・天井関数の兄弟のような関数で、x\lfloor x \rfloorx\lceil x \rceil のうち xx に近いほうを選ぶことに相当します。

xxx\lfloor x \rfloorx\lceil x \rceilround(x)\operatorname{round}(x)
2.32.3223322
2.72.7223333
1.2-1.22-21-11-1

応用

  • 金額の表示
  • 測定値の桁合わせ
  • デジタル信号の量子化

連続した値を扱いやすい整数へ丸める場面で広く使われます。

  1. Rounding、Wikipedia