Tablora

Tablora · 資料庫

區分原始精確度與逐列四捨五入

0.335加0.335是0.670,但先逐行進位會得到0.68。看看核對工具如何顯示進位階段造成的差距,以及如何測試兩種做法。

同一個總和,兩個都對的答案

發票、稅務摘要和薪資常會出現小數位數多於貨幣所允許的金額。有的系統先加總精確值再進位合計;有的系統先把每一行進位再相加。兩種都合理,在同一份資料上卻可能差一分錢以上。該用哪一種,取決於文件背後的計費、稅務或會計規則,而不是算術。

小數合計核對工具會精確相加你提供的字串,絕不進位。所以它很適合用來看出某個標示的合計用的是哪個階段。

差距往往隨行數增加而擴大。每一行都多進位幾分之一分,累積起來,一張很長的發票在兩種方法之間可能相差超過一分錢。

實際算一次0.335範例

本頁範例輸入0.335和0.335,「預期合計」為0.68。「計算合計」是0.670,預期合計以相同位數顯示為0.680,「差值」是-0.010。「合計一致」顯示「否」。

接著把各行改成逐行進位到兩位小數後的樣子:0.34和0.34。同樣以0.68作為預期合計,「計算合計」是0.68,「差值」是0.00。可見標示的數字是先把每一行進位再相加得到的,而不是把總和進位。

測試用的是哪個階段

要避開的精度陷阱

輸入值

每行一個值
0.335 0.335
預期合計
0.68

結果

計算合計
0.670
差值
-0.010
合計一致
否