Adding two numbers concatenates them instead of ca

2018-12-31 05:33发布

I am adding two numbers, I get a correct value.

Got the value after sum

function myFunction() {
  var y = document.getElementById("txt1").value;
  var z = document.getElementById("txt2").value;
  var x = Number(y) + Number(z);
  document.getElementById("demo").innerHTML = x;
}
<p>
  Click the button to calculate x.
  <button onclick="myFunction()">Try it</button>
</p>
<p>
  Enter first number:
  <input type="text" id="txt1" name="text1" value="1">
  Enter second number:
  <input type="text" id="txt2" name="text2" value="2">
</p>
<p id="demo"></p>

20条回答
像晚风撩人
2楼-- · 2018-12-31 06:40

They are actually strings not numbers. The easiest way to produce a number from a string is to prepend it with+:

var x = +y + +z;
查看更多
有味是清欢
3楼-- · 2018-12-31 06:40

You need to use javaScript's parseInt() method to turn the strings back into numbers. Right now they are strings so adding two strings concatenates them, which is why you're getting "12".

查看更多
登录 后发表回答