Excel2007计算850与77.1计算成10000的bug问题
程序员文章站
2022-04-21 08:12:53
先做一个实验:
在Excel2007中表格A1输入850,B1输入77.1,C1输入=A1*B1,D1输入=C1/100000,结果显示如下:
A B C D...
先做一个实验:
在Excel2007中表格A1输入850,B1输入77.1,C1输入=A1*B1,D1输入=C1/100000,结果显示如下:
A B C D
85077.11000000.65535
在Excel2003中表格A1输入850,B1输入77.1,C1输入=A1*B1,D1输入=C1/100000,结果显示如下:
A B C D
85077.1655350.65535
从这两组数据可以看出,Excel2007计算850与77.1计算成10000,相乘的结果有错误,但是内部表示好像还是正确的,不过即使这样,问题还是很严重的。因为如果计算结果直接作为结果显示或打印出来而不是做中间变量的话,那么就会导致很严重的后果。微软终于修正了这个bug,并放出了补丁提供下载。
据微软官方表示,Excel 2007在中执行计算时会出现下列问题:
当计算结果是一个介于65534.99999999995到65535的数字,计算结果显示为100000。
当计算结果是一个介于65535.99999999995到65536的数字,计算结果显示为100001。
我们获知微软的这项更新服务将会随微软的在线更新自动安装,当然,Excel 2007的用户也可以自动下载安装这项更新。此外,此修正补丁也将包括在即将出现的Office 2007 Service Pack 1里。