文章
Slash Boxes
评论

Excel 2007乘法臭虫

matrix 发表于 2007年9月25日 16时00分 星期二   Printer-friendly   Email story
来自如果只有64K部门
微软Excel 2007的使用者在软件中发现了严重的乘法错误,问题已经通报给了微软。问题表现如下,在excel中求850乘以77.1的积,结果会显示是100000,而正确的答案应该是65535。其它人也在论坛上贴出了类似的错误,并进一步展开分析。比如A1 =850*77.1,输出=100000(错误的): 将上述结果代人再计算,公式A1. =A1+1,返回100001,(显然Excel已把A1视为100000了):
另一个公式A1. =A1*2.返回131070,(微软又认为A1是65535,也就是正确的答案,奇怪);
=A1*1,还是100000;
=A1-1,返回结果65534;
=A1/1,返回结果100000;
=A1/2,返回结果32767.5。

相关文章

对 Excel Bug 的解释 [+]
cyfdecyf 写道 "Joel Spolsky,十三年前他参与了 Excel 的开发,他的解释还是值得一看的。

Excel 内部使用浮点数存储数值,而 77.1 在(单精度)浮点数中没有准确的表示,做乘法后会产生一个近似的数。浮点数本身没有问题,Excel 中把浮点数转换成字符串来显示的函数出了问题,所以会出现那样诡异的错误。这篇 excel 小组的 blog 文章说 Excel 2007 中会产生这样的 bug 的数值一共有 12 个。文章还说现在已经有了解决办法,正在测试中,不过倒是没有提解决方法。 "
显示选项 门槛:
声明: 下面的评论属于其发表者所有,不代表本站的观点和立场,我们不负责他们说什么。