ROUND( )四舍五入的结果为什么错?

问题描述:

ROUND( )四舍五入的结果为什么错?
(2140.7-2000)*0.05=140.7*0.05=7.035,四舍五入后等于7.04,但用excel计算时,结果却不同(如下),为什么?
ROUND(7.035,2)=7.04
ROUND(140.7*0.05,2)=7.04
ROUND((2140.7-2000)*0.05,2)=7.03
1个回答 分类:综合 2014-11-30

问题解答:

我来补答
我怀疑是excel在计算浮点类型的精度问题,
因为浮点类型在存放的时候并不是看起来那样的.
举个例子:
3.44 可能机器里存放的值是 :3.39999999999
这样计算的次数越多,可能就会造成的误差就越明显了..
lz这个问题可能就是 最后 Round(7.03499999999) = 7.03了.
改成 =ROUND(ROUND((2140.7-2000),1)*0.05,2) 没问题...
 
 
展开全文阅读
剩余:2000
上一页:hfftbjhg