【发布时间】:2014-02-20 18:11:08
【问题描述】:
我有一个包含缩放整数的数据库,最长的是 10 位数。我正在尝试将这些转换为 Excel 中的十进制值,将小数点左移 4 位,即除以 10000。
鉴于这些整数目前低于 15 位有效数字限制,并且将继续如此,我是否有可能遇到舍入错误?
【问题讨论】:
-
是的。请参阅cs.berkeley.edu/~wkahan/Mindless.pdf 中的第 2 节“旨在不被发现的错误”
-
那篇文章介绍了 Excel 中的复杂算法。我试图执行的除法是无分数的。如果我除以 10,000,应该可以进行二进制除法,不是吗?
-
你是说你要除以10000的所有整数都是10000的倍数?如果是这样,您应该在问题中更清楚地说明这一点,并且您可以期望结果是准确的。
-
任何介于 1 和 9999999999 之间的整数除以 10000 应得到一个没有舍入误差的商。
-
@Gary'sStudent 谢谢。帕斯卡,数字是按比例缩放的整数。因此,我的数据库中
123456的值实际上是12.3456。
标签: excel rounding significant-digits