Global.alert("base: " + base + ", upfront: " + upfront + ", both: " + (base + upfront));

上面的代码输出如下:
base: 15000, upfront: 36, both: 1500036

为什么将两个数字相加而不是相加呢?

我最终希望使用以下方法将另一个字段的值设置为此数量:
mainPanel.feesPanel.initialLoanAmount.setValue(Ext.util.Format.number((base + upfront), '$0,000.00'));

而当我尝试这样做时,它会将数字转换为百万,而不是15,036.00。为什么?

最佳答案

这可能是因为它们是字符串。尝试解析它们:

Global.alert(
    "base: " + base + ", upfront: " + upfront + ", both: " +
    (parseInt(base) + parseInt(upfront))
);

如果这些数字是十进制数,则将需要parseFloat方法。

10-06 11:45