2012-09-10 54 views
0

我的JavaScript(ExtJs的4.1.0)的代碼是:乘法用JavaScript

Ext.getCmp('amount').setValue(Ext.num(Ext.getCmp('unite_price').getValue()) * Ext.num(this.getValue())); 

它乘以3 0.048,其結果是0.14400000000000002而不是0.144。

爲什麼?

+2

的可能重複的[爲JavaScript浮點數問題優雅解決方法](http://stackoverflow.com/questions/1458633/elegant-workaround-for-javascript-floating-point-number-problem) – zerkms

回答

4

由於浮點數的舍入誤差。這是一個相當普遍的現象。

如果您想要3個小數點,請嘗試舍入到小數點後3位。

var result = 3 * 0.048; 
var roundedResult = Math.round(result * 1000)/1000;