如何添加在JavaScript中输入的数字?

时间:2018-11-04 10:42:57

标签: javascript addition

因此,我的代码允许用户输入两个数字,num1num2。但是,加法功能是连接数字而不是相加。我该如何解决?

以下是该函数的代码段:

var sum= num1 + num2;
alert(`Sum of ${num1} and ${num2} is ${sum}`);

5 个答案:

答案 0 :(得分:0)

value的类型为 string 。这就是字符串串联发生的原因。要执行算术运算,必须将值转换为数字。

更改

var sum= num1 + num2;

收件人

var sum= Number(num1) + Number(num2);

答案 1 :(得分:0)

您需要将字符串转换为数字,+符号是连接字符串,下面是示例

var sum= Number(num1) + Number(num2);
alert(`Sum of ${num1} and ${num2} is ${sum}`); // Sum of 1 and 2 is 3

var sum= +num1 + +num2;
alert(`Sum of ${num1} and ${num2} is ${sum}`); // Sum of 1 and 2 is 3

答案 2 :(得分:0)

这是因为即使输入类型是数字,该值也将以字符串的形式出现,而不是将其相加,而是将这些值浓缩起来。在添加之前将它们转换为数字。

var sum = Number(num1) + Number(num2);
alert(`Sum of ${num1} and ${num2} is ${sum}`);

答案 3 :(得分:0)

您可以将其强制为字符串并使用"" + num1 + num2

var sum = "" + num1 + num2;
alert('Sum of ${num1} and ${num2} is ${sum}');

答案 4 :(得分:0)

另一个想法是使用parseInt()

const sum = parseInt(num1) + parseInt(num2)
console.log(`Sum of ${num1} and ${num2} is ${sum}`)

这里是工作代码

let num1 = 50
let num2 = "5" //in case of string value the value will be converted by parseInt()
const sum = parseInt(num1) + parseInt(num2)
console.log(`Sum of ${num1} and ${num2} is ${sum}`)