javascript的parseFloat()方法精度問題探討
更新時間:2013年11月26日 17:31:41 作者:
javascript中的parseFloat()方法,大家應(yīng)該不陌生吧,下面為大家介紹下其精度問題,感興趣的朋友不要錯過
在Javascript中parseFloat()方法會產(chǎn)生精度問題
<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得出的結(jié)果為:1.3921000000000001,這不是想要的結(jié)果,特別在計算金錢的時候,不需要如此精確的精度??梢允褂胻oFixed(n)方法修正后(n是小數(shù)后精確的位數(shù))。
例如:parseFloat(1.392143).toFixed(2)=1.39。
復制代碼 代碼如下:
<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得出的結(jié)果為:1.3921000000000001,這不是想要的結(jié)果,特別在計算金錢的時候,不需要如此精確的精度??梢允褂胻oFixed(n)方法修正后(n是小數(shù)后精確的位數(shù))。
例如:parseFloat(1.392143).toFixed(2)=1.39。
相關(guān)文章
javascript適配器模式和組合模式原理與實現(xiàn)方法詳解
這篇文章主要介紹了javascript適配器模式和組合模式原理與實現(xiàn)方法,結(jié)合實例形式詳細分析了javascript適配器模式與組合模式相關(guān)原理、功能、實現(xiàn)方法與注意事項,需要的朋友可以參考下2023-07-07JavaScript實現(xiàn)省市縣三級級聯(lián)特效
這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)省市縣三級級聯(lián)特效,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05