Tablora · ライブラリ
0.10と0.20を正確な小数で検算する
0.10と0.20の合計が10進数の計算でちょうど0.30になるか確かめます。浮動小数点の表示誤差なしで記載の合計と比べられます。
0.1と0.2の和がおかしく見える理由
多くのソフトは数値を2進数の浮動小数点で保存しますが、0.1と0.2はこの形式では正確に表せません。足すと保存される結果は0.3よりわずかに大きくなり、書式によっては0.30000000000000004と表示されたり、値が等しくないと判定されたりします。照合作業では、こうした誤差が実際には存在しない食い違いに見えてしまいます。
小数の合計照合ツールはこれを避けます。各値を10進数の文字列として読み、すべての値の小数点以下の桁数をそろえてから整数として足すので、0.10と0.20の合計はちょうど0.30になります。
行を入力する
- 金額を「1行に1つの値」に入力するか貼り付けます。空行は無視され、値の前後の空白は取り除かれます。
- 正規の10進表記を使います。先頭のマイナスは任意で、数字と、小数部分の前のピリオドだけです。桁区切りのカンマ、小数点カンマ、プラス記号、通貨表記は拒否されます。
- 確かめたい数字を同じ書き方で「照合する合計」に入れます。
- 「計算」を押し、「計算した合計」「照合する合計」「差」「合計が一致」を読みます。
0.10と0.20の結果
値が0.10と0.20、「照合する合計」が0.30の場合、「計算した合計」は0.30、「差」は0.00で、「合計が一致」は「はい」になります。結果が小数点以下2桁なのは、入力値と照合する合計の中で最も多い桁数が2桁だからです。
「差」は常に「計算した合計」から「照合する合計」を引いた値です。差が負なら、入力した行の合計が記載された数字に届いていないことを意味します。
実際の表から値を準備する
明細からコピーした金額が正規の形になっていることはまれです。まず数値列の統一ツールに列を通し、書類で使われている小数点と桁区切りの記号を選んでから、変換した値を照合ツールにコピーしてください。統一ツールが確認待ちにした値は、まだ合計に使える状態ではありません。合計を信頼する前に解決してください。
照合ツールが行うのは、入力された値の正確な計算だけです。通貨の換算、税や端数処理の規則の適用、すべてのレコードが入力されたかの判断は行いません。
照合ツールが受け付けない入力
- 桁区切りのカンマ付きの1,234.50や、小数点カンマの1234,50。先に数値列の統一ツールで変換してください。
- プラス記号付きの+5.00。5.00と入力してください。
- 先頭のゼロがない.50。0.50と入力してください。
- かっこ付きの(2.50)。-2.50と入力してください。
- これらが1つでもあると、計算全体が「入力した値を確認して、もう一度お試しください。」で止まるので、問題のある行が黙って飛ばされることはありません。
入力値
- 1行に1つの値
- 0.10 0.20
- 照合する合計
- 0.30
結果
- 計算した合計
- 0.30
- 差
- 0.00
- 合計が一致
- はい