今天在頁面上用到了js進行小數相加119.01+0.01,結果你們都知道應該是:119.02的,然而結果是119..0200000…. ,莫名其妙的,還覺得是我寫的程序有問題,後來查了下才知道這是javascript浮點運算的一個bug. javascript
解決方案java
1.這是由於Javascript的數字類型是以64位的IEEE 754格式存儲的。spa
2.解決方法把相加的結果作下處理ip
function toDecimal(x) {
var val = Number(x)
if(!isNaN(parseFloat(val))) {
val = val.toFixed(2);
}
return val;
}ci