excel浮点数误差解决办法

文章探讨了浮点运算误差的来源,特别是在涉及小数的减法和除法中,由于计算机以二进制表示十进制小数导致的无限循环问题。通过举例展示Excel中的计算误差,提出使用四舍五入作为解决方法来确保结果的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、存在原因

       浮点运算误差通常出现在使用小数运算,或运算过程中包含小数的情况中,在减法和除法中比较多见,这算误差的出现是随机的,并不一定总能碰到。但是,以目前的科技,这种误差总是可观存在的。

       由于计算机内部以二进制保存,所以十进制的有限位的小数,在计算机内部会是一个无限位的小数。

例如:十进制的0.9虽然只有一位小数,转成2进制是无限循环小数0.1110011001100110011...

       单元格中写入简单的计算=5.1-5.2+1,计算结果毫无争议应该是0.9,但是如果设置足够多的小数位数,会发现Excel的计算结果并不等于0.9。

二、误差测试

1.正常情况

2. 发现问题

 

 3.解决问题

使用round四舍五入保留两位小数,如果是XXXX.XXX999无线循环,可以得到正确的数据

 

三、其他误差案例

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值