2012-11-17 62 views
0

可能重複:
Elegant workaround for JavaScript floating point number problem在Javascript中的分區不準確?

如果我在Javascript執行以下操作:

0.06120*400 

結果是24.48。

但是,如果我這樣做:

24.48/400 

結果是:

0.061200000000000004 

的jsfiddle:http://jsfiddle.net/zcDH7/

所以JavaScript似乎做除法和乘法時四捨五入不同的事情?

使用我的計算器,操作24.48/400的結果爲0.0612的正確答案。

我該如何處理Javascript的不準確的劃分?我不能簡單地將數字捨去,因爲我將處理不同精度的數字。

感謝您的建議。

+1

浮點運算是不準確的。 JavaScript的不是怪。 –

+1

浮點運算並不意味着_100%_準確。這適用於幾乎所有的編程語言,而不僅僅是JavaScript。 –

回答

1

您可以簡單地使用得到正確的結果:

var a = 24.48/400; 
console.log(a.toFixed(6)); 

而且因爲typeof a.toFixed(6) === 'string'您可以:

var a = 24.48/400; 
console.log(parseFloat(a.toFixed(6))); 
  • toFixed參數是你想要的小數位數。