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.14400000000000002 而不是 0.144。

为什么?

4

1 回答 1

4

因为浮点数的舍入误差。这是一个比较普遍的现象。

如果您想要 3 个小数点,请尝试四舍五入到 3 个小数位。

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