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。
爲什麼?
我的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。
爲什麼?
由於浮點數的舍入誤差。這是一個相當普遍的現象。
如果您想要3個小數點,請嘗試舍入到小數點後3位。
var result = 3 * 0.048;
var roundedResult = Math.round(result * 1000)/1000;
的可能重複的[爲JavaScript浮點數問題優雅解決方法](http://stackoverflow.com/questions/1458633/elegant-workaround-for-javascript-floating-point-number-problem) – zerkms