> 0.1 + 0.2 == 0.3
false
> 0.1 + 0.2
0.30000000000000004
怎麼解決
就像標準中提到的,我們可以採用一個精確範圍來比較是否相等
x = 0.2;
y = 0.3;
equal = (Math.abs(x - y) < 0.000001)
第二種方法是使用JavaScript內置的函數toPrecision或toFixed來保留一定的精度:
(0.1 + 0.2).toPrecision(10) == 0.3 // string
> true
(0.1 + 0.2).toFixed(10) == 0.3 // string
> true
/////////////////////////////////////////////////////////////////////////
- var num = 5.56789;
-
- var a = num.toFixed();
- var b = num.toFixed(2);
- var c = num.toFixed(10);
-
- var a1 = num.toPrecision();
- var b1 = num.toPrecision(2);
- var c1 = num.toPrecision(10);
/////////////////////////////////////////////////////////////////////////
沒有留言:
張貼留言