js中有個經典“0.1 + 0.2 != 0.3”的問題,
if(0.1 + 0.2 === 0.3) {
alert('yes')
} else {
alert('no')
}
執行後會彈出”no“。
what?
原來,js中浮點數不能直接用等號判斷相等,需要通過”2個數的差值小於等於最小精度值“判斷相等,如下:
if (Math.abs(num1 - num2) <= Number.EPSILON) {
// 2個數相等
} else {
// 2個數不等
}