ROUND的奇怪结果 =ROUND((1601.3-1600)*0.05,2) =0.06=ROUND(1.3*0.05,2) =0.07 这是什么原因呢?我用公式求值看看发现ROUND((1601.3-1600)*0.05,2) =ROUND(1.29999999999995*0.05,2) =0.06真奇怪,也就是1601.3-1600=1.2999999999995而不是1.3,真晕!
ROUND的奇怪结果
=ROUND((1601.3-1600)*0.05,2) =0.06
=ROUND(1.3*0.05,2) =0.07
这是什么原因呢?
我用公式求值看看发现ROUND((1601.3-1600)*0.05,2) =ROUND(1.29999999999995*0.05,2) =0.06
真奇怪,也就是1601.3-1600=1.2999999999995而不是1.3,真晕!
附件在4楼,大家下载看看吧!
2楼
你那个1601.3是不是也是计算出来取整的。
回复
3楼
这个也能发现,版主真够厉害的呀.不知道还有哪些有趣的没发现?
回复
4楼
不是,是直接在公式里面输入的,你可以看看!
我把附件上传,大家看看,讨论一下吧!
回复
5楼
可能这是软件的一点小小不足,把四舍五入的位数改为3就一样了。
回复
6楼
附件发上来我打开看了还是没怎么看明白.呵呵
回复
7楼
你试着在某单元格里面输入=1601.3-1600
再看看结果吧,竟然是1.29999999999995,而不是1.3,你难道感到不奇怪吗?
当然,这个结果必需是将单元格的小数位数增加到许多假位才能发现的!
回复
8楼
还真的是这样.也不知EXCEL是怎么搞的.一般人还真轻易不能发现这个
回复
9楼
据说这是浮点计算的问题,我也没搞清楚到底是什么问题!
回复
10楼
这不是round的问题,是excel的问题,
其它的数字计算也是一样的,但是0.5-0.3显示却是正常的。
回复
11楼
对,是excel的问题,所以1601.3-1600=1.29999999999995。哎!晕!
回复