我正在使用node.js,我正在尝试添加两个整数,但是,他们只是将它们放在一起

Chr*_*len 2 integer node.js

我正在使用node.js,我正在尝试添加两个整数,但是,他们只是把它们放在一起......我查了一下Float,试图浮动整数,但node.js无法识别浮点数.

Gol*_*den 9

显然,两者中至少有一个实际上是一个包含数字的字符串.然后V8进行字符串连接而不是添加数字.

你需要做的是将字符串转换为实数.您可以使用parseInt()parseFloat()函数执行此操作,但更快的方法是减去0:由于无法从字符串中减去,V8会尝试将字符串的内容视为数字.

最后你也得到一个数字,但AFAIK这个方法比使用解析函数更快.

例:

var foo = '23';
typeof (foo - 0); // => 'number'

var a = '23',
    b = '42';
console.log((a - 0) + (b - 0)); // 65
Run Code Online (Sandbox Code Playgroud)


Vij*_*y13 6

最好的方法是在执行任何操作之前进行转换,例如:

var result = Number(x1) + Number(x2) - Number(x3)
Run Code Online (Sandbox Code Playgroud)

来源:http : //www.w3schools.com/jsref/jsref_number.asp