Adding two numbers concatenates them instead of calculating the sum
P粉136356287
P粉136356287 2023-10-10 16:52:00
0
2
692

I'm adding two numbers but I'm not getting the correct value.

For example, executing 1 2 returns 12 instead of 3

What am I doing wrong in this code?


function myFunction() {
  var y = document.getElementById("txt1").value;
  var z = document.getElementById("txt2").value;
  var x = y + 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>


P粉136356287
P粉136356287

reply all(2)
P粉023326773

I just use Number():

var i=2;  
var j=3;  
var k = Number(i) + Number(j); // 5
P粉761718546

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

var x = +y + +z;
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template