JS 數字相加出現多個小數的問題


今天在頁面上用到了js進行小數相加119.01+0.01,結果大家都知道應該是:119.02的,然而結果是119..0200000…. ,莫名其妙的,還以為是我寫的程序有問題,后來查了下才知道這是javascript浮點運算的一個bug. 

解決方案

1.這是因為Javascript的數字類型是以64位的IEEE 754格式存儲的。

 

2.解決方法把相加的結果做下處理

function toDecimal(x) {
var val = Number(x)
if(!isNaN(parseFloat(val))) {
val = val.toFixed(2);
}
return val;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM