9944是什么意思(449944是什么意思)

在单元格中输入=5.1-5.2+1,大家猜猜,结果是多少,

A: 0.9

B:0.8999999999999

说实话,我也选错了,不得不说,我的数学,是体育老师教的

在开始讲之前,我们先介绍一个EXCEL函数,就是rounddown(数值,0),这个函数,实际就可以理解为去尾法,比如实际值是1.9的,用这个函数后,得到的结果为1,后面的0是保留几位小数的意思

案例:EXCEL也坑人

如上图,当我们输入公式,下拉后,得到的结果,竟然不一样,但是实际上,两个数相减99.44-98.44,而后除以100,就是0.01,结果再乘以100,应该是1才对呀,可是结果却是0

分析1:我们改变思路,保留一位小数向下取整,而后我在D列可以看到,第五行,结果为0.9,其他都是正确的。

这下蒙圈了,学了那么多年的减法,99.44-98.44,竟然等于0.9,不应该是1吗?

为了更深入说明情况,我们再举个例子,4.1-4.2+1,等于多少,

相信连小学生都会,是0.9,没错,但是在计算机计算的时候,真实的结果,不是0.9,当我们将小数位增大之后,就可以看出来,5.1-5.2+1,结果也是0.89999999,这时为什么呢

原因分析,

出现这种结果,一般是因为电脑支持的,实际是二进制,我们输入的是十进制,他要将数据转化为二进制后,而后结算,这里就产生了转换的时候的误差,就像1除以3一样,是无限循环,从而造成了结果的出错,目前这个无法完全规避,但是我们可以用

这里有一个知识点,就是计算时候的浮点误差,这里不多讲,可以百度下

修正方法

如上图,我们可以在数值计算后,在加上一个0.00000000001,最好小数点后保留14为,这样一般我们用不到这么小的数字,而且如果存在误差,0.009+0.001,刚好是1,我们再用rounddown函数的时候,就不会出错了

如果有其他方法,欢迎讨论!