2022.7
吉村洋介
化学実験 実験にあたって

数値の丸め方

数値を丸める(rounding of number)というのは、 数値の端数を除いて切りよくすることです。 こうした数値処理は小学校で教わりますが、 大学に入るまで(入ってからも?)、 正面切って学ぶ機会がなく、 単純四捨五入で済ましているケースをよく見かけます。 たとえば2回実験して、8.42 と 8.43 という結果を得て、 小数点以下2ケタで平均値を表現する時、 8.43 とするのは好ましくありません(8.42 が推奨されます)。 ここでは JIS 規格(JIS Z8401)に従って、 科学・技術分野での数値の丸め方を紹介しておきます。

数値を丸めるという操作は、 正確を期して言えば、 「数値をある一定の数(丸めの幅)の整数倍の系列に当てはめること」 に相当します。 整数倍の系列としては、次のようなものを想定することになります。

例:
 丸めの幅:0.1 → 整数倍:..., 1.1, 1.2, 1.3, 1.4, ...
 丸めの幅:100 → 整数倍:..., 200, 300, 400, 500, ...

そして丸める際には、原則として一番近い整数倍に置き換えます。

例:
 丸めの幅を 0.1 として
  12.34 → 12.3、42.865 → 42.9、-7.84 → -7.8

ここで問題になるのは、一番近い整数倍が2つある場合、 3.45 を 3.4 にするか 3.5 にするか、 といったケースです。 こうした場合、次の A、B 2つの規則が JIS では定められています。 一般に推奨されるのは、次の規則 A です。

規則A:偶数倍になるように丸める(この方法を推奨)。

例(規則 A):
 丸めの幅を 0.1 として
  12.35 → 12.4、42.85 → 42.8、-12.35 → -12.4、-42.85 → -42.8

規則 A の方が一連の数値を扱う際に系統的な誤差を小さくできますが、 コンピュータでの数値の取り扱いが煩雑になるので、 次の単純四捨五入による、規則 B も JIS で許容されています。

規則B:大きい整数倍に丸める(許容)。

例(規則 B):
 丸めの幅を 0.1 として
  12.35 → 12.4、42.85 → 42.9、-12.35 → -12.4、-42.85 → -42.9

なお JIS にも規定がありますが、 実際の丸め操作に当たって、 次の点に注意しておきます。

(1)一番近い整数倍に置き換える操作は1段階で行う。
例:
○ 3.346 → 3.3(丸めの幅0.1)
× 3.346 → 3.35(丸めの幅0.01) → 3.4(丸めの幅0.1)

(2)負の数を扱う際は、その絶対値について丸めの操作を行う。
例:
-5.35 → 5.35 → 5.4 → -5.4 (丸めの幅0.1)

偶数を優先するわけ

高校段階まででは、もっぱらこの規則 B で数値を取り扱いますが、 少し専門的な分野では規則 A が推奨されます。 それは上にも述べたように「系統的な誤差を小さくできる」ためですが、 少しそのあたりの事情をくどく説明しておきましょう。

丸めの幅が 0.1 の数が与えられた時、これを丸めの幅 1 に変換することを考えてみましょう。 規則 B を取ったとき、3 に変換されるのは 2.5、2.6、2.7、...、3.2、3.3、3.4 の 10 通りで、 平均をとってみると 3.045。 平均的に眺めてみると、若干大きめの数字になります。 これはほかの数 2 や 4 でも同様で、全体に絶対値が平均的に 0.045 だけ大きくなります。 1 つの数値だけ取り出せば、元の数値の丸めの幅以下の問題ですが、 さまざまなパーツからなる複雑な構造体などを問題にするときには、 これが積み重なって全体の過大評価につながります(系統的な誤差の発生)。

一方規則 A では 3 に変換されるのは 2.6、2.7、...、3.2、3.3、3.4 の 9 通りで平均は 3。 4 に変換されるのは 3.5、3.6、3.7、...、4.2、4.3、4.4、4.5 の 11 通りで平均は 4。 偶数と奇数で出現頻度はちがいますが、平均的に眺めてみると偏差は発生しません。 偶数にひいきするようですが、 平均的に見て偏差が現れず好ましいのです。 この点、規則B ではゼロ 0 が 9 通りしかなく、 数直線上で眺めてみると、 0 の近傍が手薄になってしまいます。 このため科学・工学分野ではこうした規則 A の取り扱いが推奨されるわけです。

何に、どこまで、こだわるか

規則 A の方が一連の数値を扱う際に系統的な誤差を小さくできますが、 数値の取り扱いが煩雑になります。 また数値の計算等は、そのほとんどが計算機で行われるわけですが、 デジタル計算機である限り、 デジタル化にともなう丸め誤差が発生します。 しかしその中で扱われる数字の丸めの幅(計算機イプシロン)は極めて小さいものです (倍精度であれば ~ ×10-16)。 人間同士が紙媒体で受け渡しするような場合の丸め幅には、 まず影響を与えません。 ですから数値が計算機の間でやり取りされる限りは、 規則 A でも B でも実用上はまず問題になりません (計算機の内部処理では大きな問題で、 金銭に関わる精確な計算あるいは膨大な量の計算で、 使用する計算機によって、実際的にも異なる結果を与えることがあります)。 そこで規則 B も JIS で許容されています。

実際的な解決策、コンセンサスの必要性

科学・技術分野での数値の丸め方のルールを見たわけですが、 用途あるいは分野によっても丸め方は異なります。 たとえばガスボンベの耐圧を決める際、 21.6 MPa は 22 MPa ではなく、 安全を考えて 21 MPa と、切り捨てを行うのが望ましいでしょう。 また規則 A と B が生まれるのが、 中間の 5/10 の存在があいまいさを招くという立場に立つと、 二捨三入、七捨八入を行うという手法も生まれます (丸めの幅を 0.05 に取って、2.42 は 2.40、2.44 は 2.45 などとする)。

特に料金の設定・支払いをめぐって、 この丸め方についてのさまざまなやり取りがあることは、 レジでの消費税の計算、運賃(鉄道料金の「IC運賃」(丸め幅 1)と「きっぷの運賃」(丸め幅 10)など)で、 経験するところでしょう。 こうしたところは数値のやり取りについての、 コンセンサスが重要になるところです (一度「釣りはいらん!」と言ってみたい・・・)。


「実験にあたって」のページへ