2

可能重复:
加法变成串联

这就是我所拥有的...

    var srate = Math.round(princ * intr * term * 100) / 100; //works fine
    var dasvalue = princ + srate; //doesn't work
    document.calc.pay.value = dasvalue;

“var dasvalue = princ + srate;” 将两个总和相加为字符串。

100 + 1.4 = 1001.4

我究竟做错了什么?

4

3 回答 3

4

您可以使用一元加运算符强制转换为 Number 类型,确保加法而不是串联:

var dasvalue = +princ + +srate;
于 2012-08-09T12:55:29.817 回答
2

princ也是一个字符串。您可以Number使用一元运算符将其转换为 a +

于 2012-08-09T12:55:38.823 回答
2

如果您的值princ来自输入,则需要先将其转换为数字。

var dasvalue = Number(princ) + srate;
于 2012-08-09T12:56:42.360 回答