[轉]Js中parseFloat()方法所產生的精度問題

Demo:

<script language="javascript">
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("<br/>")
document.write("a+b+c="+sum2)
</script>

a,b,c相加本來爲1.3921,但sum1得出的結果爲:1.3921000000000001,顯然不正確,通過toFixed(n)方法修正後(n是精確的小數點位數),得到正確結果。

如:parseFloat(1.392143).toFixed(3)=1.392;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章