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.010的差额当作要靠添一行来修正的错误;它是舍入选择的预期结果。
- 以为只有一种舍入方法。四舍五入、银行家舍入(四舍六入五成双)和截断可能得到不同的行值;请采用你的规则指定的方法。
- 在Tablora应用的XLSX导出中,识别为数字列的金额会变成真正的数字,带小数的单元格使用两位小数的数字格式,所以0.335这样的值可能显示为0.34,而单元格里存的是0.335。请检查单元格的值,而不只看显示。
输入值
- 每行一个值
- 0.335 0.335
- 预期合计
- 0.68
结果
- 计算合计
- 0.670
- 差值
- -0.010
- 合计一致
- 否