其他分享
首页 > 其他分享> > 【前端面试必读】在js中为什么0.1+0.2不等于0.3

【前端面试必读】在js中为什么0.1+0.2不等于0.3

作者:互联网

原因在于在JS中采用的IEEE 754的双精度标准,计算机内部存储数据的编码的时候,0.1在计算机内部根本就不是精确的0.1,而是一个有舍入误差的0.1。当代码被编译或解释后,0.1已经被四舍五入成一个与之很接近的计算机内部数字,以至于计算还没开始,一个很小的舍入错误就已经产生了。这也就是 0.1 + 0.2 不等于0.3 的原因。

通常的解决办法 就是 把计算数字 提升 10 的N次方 倍 再 除以 10的N次方。一般都用 1000 就行了。

(0.1*1000+0.2*1000)/1000==0.3
//true

标签:舍入,10,0.1,0.3,0.2,js,1000
来源: https://blog.csdn.net/A_soulmate/article/details/122808299