我有两个字符串,其中只包含数字:

var num1 = '20',
    num2 = '30.5';

我本以为我可以把它们加在一起,但它们却被连接起来:

num1 + num2; // = '2030.5'

我如何才能迫使这些字符串被视为数字?


当前回答

我会先用一元加号运算符把它们转换成数字。

+num1 + +num2;

其他回答

使用parseFloat方法将字符串解析为浮点数:

parseFloat(num1) + parseFloat(num2)
var result = Number(num1) + Number(num2);

你可以用它来加数字:

var x = +num1 + +num2;
document.getElementById(currentInputChoosen).value -= +-100;

在我的情况下,如果你遇到了和我一样的问题,却找不到解决方案,找到了这个SO问题。

抱歉有点跑题了,但我刚刚发现这是有效的,我想它可能值得分享。

不知道这是一个肮脏的变通办法,还是真的合法。

使用parseFloat(string)将字符串转换为浮点数或使用parseInt(string)将字符串转换为整数