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

来源:百度知道 编辑:UC知道 时间:2024/06/24 05:06:15
(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

我怀疑是excel在计算浮点类型的精度问题,,
因为浮点类型在存放的时候并不是看起来那样的.

举个例子:

3.44 可能机器里存放的值是 : 3.39999999999
这样计算的次数越多,可能就会造成的误差就越明显了..

lz这个问题可能就是 最后 Round(7.03499999999) = 7.03了.

改成 =ROUND(ROUND((2140.7-2000),1)*0.05,2) 没问题...

ROUND((2140.7)*0.05,2)-ROUND(2000)*0.05,2)=7.04

我也遇到过这种情况,你可以试试:=round(round((2140.7–2000)*100*0.05,2)/100,2)