excel取余,数据不对,为什么33.8和33.7最后是错误的!如图
答案:3 悬赏:40 手机版
解决时间 2021-03-02 18:14
- 提问者网友:浩歌待明月
- 2021-03-02 13:36
excel取余,数据不对,为什么33.8和33.7最后是错误的!如图
最佳答案
- 五星知识达人网友:酒者煙囻
- 2021-03-02 13:59
是因为小数在计算机中是用二进制分成三部分存储的,正负符号,底数,指数;由于底数的位数是有限制的,因此,小数只能是近似值,和实际值之间会有一定偏差, 两个有偏差的结果实际是 0.0000000000004547473509 9.9999999999995500000000追问那出现错误是随机的吗?怎么解决这个问题呢那出现错误是随机的吗?怎么解决这个问题呢追答二进制存储机制的问题,没办法直接解决。
间接
方法1:对结果进行判断= IF(OR(MOD(A1*100,10) < 0.00001, MOD(A1*100,10) > 9.9999),0, MOD(A1*100,10))
方法2:自己写代码用文本模拟计算追问好的,感谢
间接
方法1:对结果进行判断= IF(OR(MOD(A1*100,10) < 0.00001, MOD(A1*100,10) > 9.9999),0, MOD(A1*100,10))
方法2:自己写代码用文本模拟计算追问好的,感谢
全部回答
- 1楼网友:酒者煙囻
- 2021-03-02 16:38
左上角有绿色三角,表示该项是文本,而不是数字,用文本进行数字计算,可能有不可预知的错误追问不行的,就是因为出现这个问题,我把一些换成文本试了下
- 2楼网友:底特律间谍
- 2021-03-02 15:30
两个方面的问题啊,发现你的mod函数,在前面只有1位小数的情况下,乘以100,再与10除,那么余数都会是0.
第二个问题,你前面的数字都带绿色的小角,且数字靠单元格左侧,应该这些数字都是以文本格式储存的。出现错误应该还有别的原因。
第二个问题,你前面的数字都带绿色的小角,且数字靠单元格左侧,应该这些数字都是以文本格式储存的。出现错误应该还有别的原因。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯