四捨五入のしかた
まず、どの位まで残すかを決め、そのひとつ下の位の数字だけを見ます。47.183 を小数第1位までにするなら、小数第2位の 8 を見ます。8 は 5 以上なので切り上げて、47.2 になります。47.143 なら 4 は 4 以下なので切り捨てて、47.1 です。
十の位や百の位で丸めるときも同じで、捨てた位は 0 になります。1,234 を百の位までにすると、十の位の 3 を見て 1,200 です。
四捨五入・切り捨て・切り上げ・偶数丸めのちがい
四捨五入:5 以上なら切り上げ、4 以下なら切り捨て。学校で習う方法で、JIS Z 8401 の規則B です。
切り捨て:捨てる部分の大きさにかかわらず、下の桁を捨てます(0 に近い側)。金額を多く見せてはいけない場面で使います。
切り上げ:捨てる部分が少しでもあれば、残す位を 1 つ上げます(0 から遠い側)。不足してはいけない数量の計算などで使います。
偶数丸め:四捨五入とほぼ同じですが、ちょうど半分のときだけ偶数の側に丸めます。データをたくさん丸めても合計が偏りにくく、JIS Z 8401 では規則A として優先されています。
マイナスの数の四捨五入
この計算機は、どの方法でも絶対値で丸めてからマイナスをつけます。Excel の ROUND・ROUNDDOWN・ROUNDUP 関数と同じ考え方です。
−2.5 は四捨五入で −3、切り捨てで −2、切り上げで −3。丸めた結果が 0 になったときは −0 ではなく 0 と表示します。
計算の精度について
プログラムで小数を2進数の近似値として扱うと、1.005 を小数第2位までにしたとき 1.00 になるといった誤りが起こります。この計算機は入力された数字の並びのまま10進数で計算するため、30 桁までの数を誤差なく丸められます。
計算はすべてブラウザの中で行われ、入力した数がサーバーに送られることはありません。
丸めるのは最後に一度だけ
途中の段階で丸めると答えが変わることがあります。2.449 をそのまま小数第1位まで丸めると、小数第2位が 4 なので 2.4 になります。しかし先に小数第2位までにすると 2.45 になり、そこからさらに丸めると 2.5 になってしまいます。計算の途中では丸めず、最後に報告する数字だけを丸めるのが基本です。
合計でも同じことが起こります。0.333 の商品を3個買うと合計は 0.999 で、小数第2位までなら 1.00 です。先に1個ずつ 0.33 に丸めてから合計すると 0.99 になります。請求書や成績表の合計が1円・1点だけ合わないのは、たいていこれが原因です。
有効数字への丸め方
この計算機が丸めるのは小数の「位」であって、有効数字の桁数そのものではありませんが、置き換えるのは簡単です。欲しい有効数字が小数第何位まで届くかを数え、その位を選びます。0.004567 を有効数字3桁にしたいときは、4・5・6 が小数第5位までに入るので「小数第5位まで」を選ぶと 0.00457 になります。45,670 を有効数字2桁にしたいときは「千の位まで」を選ぶと 46,000 になります。
入力エラーになる場合
空欄のまま、または数字として読み取れない入力は、丸め計算をする前にエラーとして表示されます。整数部と小数部を合わせて 30 桁を超える数も長すぎるため拒否されます。末尾の 0 は消えずにそのまま残ります。9.99 を小数第1位まで丸めると 10.0 になり、10 にはなりません。この 0 は、どの位まで丸めたかを示す情報だからです。丸める位よりもともと桁数が少ない数(4.2 を小数第3位までにする場合など)は、0 が足されて 4.200 になるだけで、値自体は変わりません。
よくある間違いと、この計算機でできないこと
よくある間違いは、どのプログラム言語でも 1.005 が同じように丸められると思い込むことです。多くの言語は 1.005 を2進数の近似値 1.00499999… として保存するため、内蔵の丸め機能では 1.00 になります。もう1つは「切り上げ」を「プラス方向への丸め」だと考えてしまうことです。ここでの切り上げは 0 から遠い側という意味なので、−1.1 は −2 になり、−1 にはなりません。計算の途中の値を丸めてしまうのも間違いのもとで、上の 2.449 の例のように最終結果がずれる原因になります。
この計算機は決まった小数の位や10のべき乗の単位に丸めるだけで、有効数字の桁数を直接指定することはできず、5円単位のような通貨特有の丸め方にも対応していません。すべての処理はブラウザの中で行われ、入力した数がサーバーに送られることはありません。