目录
2. 使用库,如decimal.js或bignumber.js
一、发现问题
在项目中总会出现数字需要相加的情况,但发现整数相加没问题,小数相加就出现问题了。
let add1 = 0.1+0.2;
let add2 = 0.11+0.22;
console.log(add1)
console.log(add2)
运行结果:
这结果肉眼可见的不对。
二、为什么会出现精度误差
0.1+0.2打眼一看就是0.3,但结果却是0.30000000000000004。
用if语句判断一下。
if(0.1+0.2==0.3){
console.log('等于')
}else{
console.log('不等于')
}
运行结果:
这是究竟为什么呢?
其实在JavaScript中,计算可能出现误差的原因通常是由于浮点数的精度问题。Ja