JavaScript的 - 不能正确地添加2号(JavaScript - cannot add 2

2019-10-21 03:02发布

我模拟使用JavaScript的计算器。

其中用户可以输入两个数字在一个给定的文本框,它会显示总和,产品差异和分工。

这里是我的功能 -

function calculate(num1, num2) {
  console.log("First Number = " + num1 + " Second Number = " + num2);
  console.log("Sum = " + (num1 + num2));
  console.log("Product =" + (num1 * num2));
  console.log("Difference = " + (num1 - num2));
  console.log("Division = " + (num1 / num2));
}

当用户输入第一个数字4和第二数3 I得到这样的结果:

First Number = 4 Second Number = 3
Sum = 43  // sum should be 7 NOT 43
Product = 12 
Difference = 1 
Division = 1.3333333333333333 

任何想法有什么错在这里?

Answer 1:

由于+也是一个String Concatinater在JavaScript中。 使用parseInt函数(VAR1)+ parseInt函数(VAR2)它会工作。 也有--->看看的Javascript运营商

理解+运营商。 谢谢



Answer 2:

如果你在一个文本框取中的数字就会被视为字符串,所以+运营商将做字符串连接。 在*运营商并不意味着相对于字符串任何东西,所以JavaScript引擎将尝试解释输入数字。

您可以使用输入parseInt函数将其转换为数字,或使用HTML number输入类型。



Answer 3:

尝试

console.log("Sum = " + (parseInt(num1) + parseInt(num2)));

要么

console.log("Sum = " + (0 + num1 + num2));

还请确保您所呼叫的功能等

calculate(4, 3);

并不是

calculate('4', '3');


Answer 4:

至少你的输入来计算一个()的字符串。 +是字符串定义,因此成为43. * / - 不是字符串和JavaScript定义的“巧妙地”将其转换为int。



文章来源: JavaScript - cannot add 2 numbers correctly