丸め計算機

10進数の丸め
次へ

2進浮動小数点数への変換で生じる中間値のずれを避け、10進数を指定した位で丸めます。精度が正なら小数部の桁、0なら整数、負なら十の位・百の位・それ以上の位に丸めます。一般的な四捨五入(同値ならゼロから遠い側)、偶数丸め、正負の無限大方向、切り捨てなど、明確に定義された8方式から選べます。

10進数を丸める方法

  1. 1

    正確な10進数を入力

    符号は任意で、最大30桁の数を入力します。小数点にはピリオドまたはコンマを使えます。値を2進浮動小数点数に変換せず、入力された桁を直接読み取ります。

  2. 2

    丸める位を選択

    小数第2位なら2、整数なら0、十の位なら-1、百の位なら-2を指定します。設定範囲は-12から12です。

  3. 3

    丸め方式を選択

    中間値や方向を指定する丸めの扱いを選びます。結果には指定した精度を示す末尾のゼロも保持され、そのままコピーできます。

小数点以下の桁数と丸める桁

精度を p とすると、10^(-p) の倍数に丸めます。精度 2 は小数第2位、0 は1の位、-3 は千の位です。まず指定した位までを残し、捨てる部分を調べて選択した方式を適用します。たとえば 1234.567 を小数第2位に丸める場合、1234.56 までを残します。次の桁が 7 なので、最も近い値は 1234.57 です。

出力では、指定した精度を明確にするため末尾のゼロを残します。そのため 12 を小数第3位まで丸めると 12.000 と表示されます。

8つの丸め方式

方式 2.5 を整数に丸める -2.5 を整数に丸める
最も近い値、同値ならゼロから遠い側 3 -3
最も近い値、同値ならゼロに近い側 2 -2
最も近い値、同値なら偶数側 2 -2
最も近い値、同値なら奇数側 3 -3
正の無限大方向 3 -2
負の無限大方向 2 -3
ゼロ方向 2 -2
ゼロから遠い方向 3 -3

同値の規則が使われるのは、値がちょうど中間にある場合だけです。整数への丸めでは 2.5001 は中間より大きいため、最も近い値を選ぶ4方式のいずれでも 3 になります。方向を指定する方式では近さを比べません。正の無限大方向は常に正側へ、負の無限大方向は常に負側へ進みます。

正確な10進入力が重要な理由

2.675 のような値は、一般に2進浮動小数点数で有限桁の正確な値として表せません。丸める前に文字列を2進浮動小数点数へ変換すると、本来の中間値よりわずかに小さい値や大きい値を判定することがあります。この計算機は捨てる桁を判断する間、入力を10進数の文字列として保持します。そのため 2.675 を小数第2位まで、同値ならゼロから遠い側へ丸めると、正確に 2.68 になります。

8方式の定義は、ここで使う4つの最近接方式と4つの方向指定方式を列挙したPHP 8.4の RoundingMode列挙型 に沿っています。PHPの round関数のドキュメント では、正と負の精度についても解説されています。この計算機は入力を先に2進浮動小数点数へ変換せず、10進数の桁へこれらの規則を直接適用します。

よくある間違い

  • 小数点以下の桁数と有効数字を混同しないでください。0.004567 を小数第2位に丸めると 0.00 ですが、有効数字2桁なら 0.0046 です。
  • 負の数では、正の無限大方向とゼロから遠い方向は異なります。-2.1 を正の無限大方向へ丸めると -2、ゼロから遠い方向へ丸めると -3 です。
  • 可能であれば計算の最後に一度だけ丸めます。途中で繰り返し丸めると誤差が積み重なることがあります。
  • 小数点にはピリオドまたはコンマを使えますが、桁区切り記号は使えません。指数表記は、必要な桁がすべて見える通常の10進表記に直してください。

よくある質問

小数点より左の位で丸めます。精度-1は十の位、-2は百の位、-3は千の位です。たとえば 12345 を既定の最近接方式で精度-2に丸めると 12300 になります。

違いが出るのは値がちょうど中間の場合だけです。ゼロから遠い方式では 2.53 になります。偶数丸めでは最後に残る桁が偶数になる値を選ぶため、2.523.54 になります。

負の値では曖昧な「切り上げ」という言い方に注意が必要です。正の無限大方向では -2.7-2、ゼロから遠い方向では -3 になります。この計算機では誤解を避けるため方向を明記しています。

末尾のゼロは指定した小数精度を示します。5.200 は小数第3位まで丸めたことを表しますが、5.2 だけではその精度が分かりません。固定小数点の表計算シートや報告書へコピーするときにも役立ちます。

この計算機は、固定した小数点以下の桁数または10の累乗の位で丸めます。小数点の位置に関係なく意味のある桁数を一定にしたい場合は、有効数字計算機を使ってください。

入力値は、結果の計算と表示のためにサイトへ送信されます。任意の複数ステップ表示ではページのURLにも含まれるため、ブラウザーの履歴やサーバーログに残る場合があります。アカウントは不要で、計算履歴を保存する機能はありません。機密情報は入力しないでください。

関連ツール