在Javascript中parseFloat()方法會產生精確度問題
程式碼如下:
var a = "0.11";
var b = "0.2801";
var c = "1.002";
var sum1 = parseFloat(a) parseFloat(b ) parseFloat(c);
var sum2 = (parseFloat(a) parseFloat(b) parseFloat(c)).toFixed(4)
document.write("a b c=" sum1);
document. write("
")
document.write("a b c=" sum2)
a,b,c相加本來為1.3921,但sum1得出的結果為:1.3921000000000001,這不是想要的結果,特別在計算金錢的時候,不需要如此精確的精度。可以使用toFixed(n)方法修正後(n是小數後精確的位數)。 例如:parseFloat(1.392143).toFixed(2)=1.39。