このツールでできること
「端数処理(丸め)計算ツール」は、正の数でも負の数でも、好きな桁を指定して数値を丸められるツールです。小数点の左側は10億の位まで、右側は10億分の1の位まで対応し、9種類の丸め方式から選べます。実は、ほとんどの丸めルールは、ちょうど真ん中の「5」で終わる端数(後ろに意味のある数字が続かない値)を除けば、どの値でも同じ結果になります。この「ちょうど0.5」のケースをどう扱うかこそが、選んだ方式によって変わるポイントです。
使い方
まず丸め方式を選び、丸めたい数値を入力します(負の数はマイナス記号「-」を先頭に付けてください)。次に丸める位を指定します。計算ツールは丸めた結果に加えて、どの位で丸めたか、どのルールを適用したかをわかりやすく説明して表示します。
計算の仕組み
残したい小数点以下の桁数を \(p\) とします(整数の位で丸める場合は負の値になります)。数値に倍率 \(f = 10^{p}\) を掛けることで、丸める対象の桁を一の位へ移動させます。スケーリングした値 \(s = \text{数値} \times f\) を、選んだ方式で整数 \(n\) に丸め、最後に \(n \div f\) を計算して答えを求めます。一般的には次の式で表せます。
$$\text{Result} = \frac{\operatorname{round}\!\left(\text{Value} \times 10^{\,p}\right)}{10^{\,p}}$$なお、二進数の浮動小数点では「ちょうどの端数」を見逃してしまうことがあるため(例えば 1.15 は 1.15 よりわずかに小さい値として保存されます)、端数を判定する前にスケーリングした値を小数第9位で丸めて、本来の0.5の端数を正しく検出しています。
計算例
数値 1.15、方式「五捨(切り上げ寄り)=Round Half Up」、丸める位「小数第1位(\(p = 1\))」の場合。\(f = 10\) なので \(s = 11.5\) となり、これはちょうど真ん中の値です。Round Half Up は端数を正の無限大方向へ送るため、次のようになります。
$$\frac{\lceil 11.5 \rceil}{10} = \frac{12}{10} = 1.2$$よって答えは 1.2 になります。
よくある質問
「銀行家の丸め」とは? Round Half Even(偶数丸め)は、端数を最も近い偶数の整数へ送る方式です。たとえば 2.5 は 2 に、3.5 は 4 になります。端数を偶数・奇数に均等に振り分けることで、たくさんの数を合計したときに生じる誤差の偏りを減らせます。会計分野でよく使われます。
「丸める位」を負にすると、どう動くのですか? 負の位を指定すると、小数点の左側(整数部分)で丸めます。たとえば「千の位(\(p = -3\))」を選ぶと、最も近い1000単位に丸められ、12,345 は 12,000 になります。
なぜ「Round Half Random」は毎回答えが変わるのですか? この方式は端数が出るたびに50対50のコイントスを行うため、意図的に結果が一定にならない仕組みです。そのため、計算するたびに異なる結果が返ることがあります。