请问这个是BUG吗?

barretny 2007-03-08 09:38:12
a
27112.87
2342.92
24769.95 (a1+a2)
13377.6
8720.1
2672.25
-3.63798E-12 (a3-a4-a5-a6)


应该是0怎么会是个小数?
...全文
297 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
蓝帆·雨轩 2007-03-18
  • 打赏
  • 举报
回复
这个不是Bug。

首先:这个是浮点数计算的问题,如果您不设置为数值,那么计算是按照浮点数进行计算的,由于转换成的浮点数和您的整型数值有差异,导致了误差的产生。

其次:楼主没有设置精度,设置精度后可以解决该问题(使用数值计算在该问题中也是正确的)。
mercury9111 2007-03-12
  • 打赏
  • 举报
回复
我也不大清楚了,等高手来说说吧.
hzh232 2007-03-09
  • 打赏
  • 举报
回复
顶...
无此下问?
mercury9111 2007-03-09
  • 打赏
  • 举报
回复
其实不保留2位小数也可以,应该是将单元格格式设置为"数值"就可以的
mercury9111 2007-03-09
  • 打赏
  • 举报
回复
27112.87
2342.92
24769.95
13377.60
8720.10
2672.25
0.00 (结果)
恩,开始得出的结果确实和你的结果一样,当然单元格状态是"常规",之后我将单元格的格式改为"数值"并保留2位小数就得出的正确结果,估计是这个方面出的问题,你自己试一下.
barretny 2007-03-09
  • 打赏
  • 举报
回复
不好意思,应在a3中输入=a1-a2.
在a列中a1输入27112.87,a2中输入2342.92,a3中输入=a1-a2,a4中输入13377.6,a5中输入8720.1,
a6中输入2672.25,a7中输入a3-a4-a5-a6,但是结果是-3.63798E-12
barretny 2007-03-09
  • 打赏
  • 举报
回复
但为什么会这样呢?
DawnPine 2007-03-08
  • 打赏
  • 举报
回复
LZ的格式乱了
我猜楼主的最终结果应该是0,实际是非零,这多半是浮点计算或进制转换造成的误差
除非你改用整型等精确类型 否则你不能消除这种误差 只能设法避免误差带来的影响
lukejiang 2007-03-08
  • 打赏
  • 举报
回复
看不懂
mercury9111 2007-03-08
  • 打赏
  • 举报
回复
27112.87
2342.92
29455.79
13377.6
8720.1
2672.25
4685.84(结果)
barretny 2007-03-08
  • 打赏
  • 举报
回复
在a列中a1输入27112.87,a2中输入2342.92,a3中输入=a1+a2,a4中输入13377.6,a5中输入8720.1,
a6中输入2672.25,a7中输入a3-a4-a5-a6,但是结果是-3.63798E-12
请问为什么呢?

6,209

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office应用
社区管理员
  • Microsoft Office应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧