JS里面 0.1 + 0.2 !== 0.3 ????

这篇博客探讨了JavaScript中0.1+0.2不等于0.3的原因,这源于 IEEE754 双精度浮点数标准导致的舍入误差。在计算机内部,0.1无法精确表示,从而在计算时引入了微小的误差。通过示例展示了浏览器中计算的结果,揭示了浮点数运算的不精确性。

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

今天遇到一个问题,0.1 + 0.2 === 0.3 ,问是true还是false,虽然学了十几年的数学告诉我是相等的,但是既然这么问了,就肯定是false的,但是为啥呢?原来在JS中采用的IEEE 754的双精度标准,计算机内部存储数据的编码的时候,0.1在计算机内部根本就不是精确的0.1,而是一个有舍入误差的0.1。当代码被编译或解释后,0.1已经被四舍五入成一个与之很接近的计算机内部数字,以至于计算还没开始,一个很小的舍入错误就已经产生了,下图是在浏览器中计算 0.1+0.2 的结果,可以看到一串 0 后面多了一个4。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值