首页 > 教育

excel计算结果不对?

更新时间2022-03-20 00:03:34

如图所示,A1单元格为0.8035;A2单元格为0.803,A3单元格是一个判断公式
A3公式:=IF((A1-A2)=0.0005,1,0),谁能告诉我,为什么A3的结果是0而不是1???
excel计算结果不对?

这是所谓的浮点误差

十进制专2进制引起

整数没问题,

表述成2的级数和

十进制整数是可以分尽的

十进制有限小数可能会是2进制无限不循环小数

因此会有小的差别,判断等于前先四舍五入处理

这就涉及到一个精度问题,在电脑中数值计算是二进制完成的,在10进制中这个数值有效位只有四位小数,但在2进制中确是一个很长的数值,在计算中,就会根据电脑计算位数进行取舍后计算,从而出现误差.

(0.8035-0.803)-0.0005在我的电脑中计算结果是-5.50775E-17即小数位后17位的数,虽然很小但也不是0

因此这类计算判断公式最好考虑有效数字,比如写

ROUND(A1-A2,9)=0.0005

四舍五入,别太长即可

相关标签:excel

上一篇:看下列图求解!

下一篇:一串数:1,1,2,3,5,8,13,……即从第三个数起,每个数都等于钱面相邻两