0

私のJavaScript(ExtJs 4.1.0)コードは次のとおりです。

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

3に0.048を掛けると、結果は0.144ではなく0.14400000000000002になります。

なんで?

4

1 に答える 1

4

浮動小数点数の丸め誤差のため。これはかなり一般的な現象です。

小数点以下3桁が必要な場合は、小数点以下3桁に丸めてみてください。

var result = 3 * 0.048;
var roundedResult = Math.round(result * 1000) / 1000;
于 2012-09-10T08:12:28.610 に答える