文章
Slash Boxes
评论

Solidot 登录

登录

[ 创建一个新帐号 ]

对 Excel Bug 的解释

matrix 发表于 2007年9月27日 15时40分 星期四   Printer-friendly   Email story
来自切JJ部门
cyfdecyf 写道 "Joel Spolsky,十三年前他参与了 Excel 的开发,他的解释还是值得一看的。

Excel 内部使用浮点数存储数值,而 77.1 在(单精度)浮点数中没有准确的表示,做乘法后会产生一个近似的数。浮点数本身没有问题,Excel 中把浮点数转换成字符串来显示的函数出了问题,所以会出现那样诡异的错误。这篇 excel 小组的 blog 文章说 Excel 2007 中会产生这样的 bug 的数值一共有 12 个。文章还说现在已经有了解决办法,正在测试中,不过倒是没有提解决方法。 "

相关文章

IT: Excel 2007乘法臭虫 6 条评论 [+]
微软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。
This discussion has been archived. No new comments can be posted.
显示选项 门槛:
声明: 下面的评论属于其发表者所有,不代表本站的观点和立场,我们不负责他们说什么。
  • Re:猜测一下

    (得分:1, 识见广博)
    匿名懦夫 发表于 2007年9月28日 10时47分 星期五 (#10955)
    注意了, Joel 早就不是 MS 的员工, Joel 自己的公司在做 bugzilla 类的软件销售和支持, 让他闻名的是他一系列软件开发思考的文章
    [ 上层 ]
  • 还有 1 reply 在你当前的门槛设置之下。