Javascript 将两个数字相加将它们连接起来,而不是计算总和

Javascript 将两个数字相加将它们连接起来,而不是计算总和,javascript,html,Javascript,Html,我将两个数字相加,但没有得到正确的值 例如,执行1+2返回12,而不是3 我在这个代码中做错了什么 函数myFunction(){ var y=document.getElementById(“txt1”).value; var z=document.getElementById(“txt2”).value; var x=y+z; document.getElementById(“demo”).innerHTML=x; } 单击按钮以计算x。 试试看 输入第一个数字: 输入第二个数字:

我将两个数字相加,但没有得到正确的值

例如,执行
1+2
返回12,而不是3

我在这个代码中做错了什么

函数myFunction(){
var y=document.getElementById(“txt1”).value;
var z=document.getElementById(“txt2”).value;
var x=y+z;
document.getElementById(“demo”).innerHTML=x;
}

单击按钮以计算x。
试试看

输入第一个数字: 输入第二个数字:


它们实际上是字符串,而不是数字。从字符串生成数字的最简单方法是在其前面加上
+

var x = +y + +z;

您需要使用javaScript的
parseInt()
方法将字符串转换回数字。现在它们是字符串,所以添加两个字符串将它们连接起来,这就是为什么会得到“12”。

请使用,但请确保指定一个基数值;否则,您将遇到几个错误(如果字符串以“0”开头,则基数为八进制/8等)


希望这有帮助

您可以使用正则表达式进行预检查,以确定它们是否是类似的数字

function myFunction() {
    var y = document.getElementById("txt1").value;
    var z = document.getElementById("txt2").value;
    if((x.search(/[^0-9]/g) != -1)&&(y.search(/[^0-9]/g) != -1))
      var x = Number(y)+ Number(z);
    else
      alert("invalid values....");
    document.getElementById("demo").innerHTML = x;
  }

只需添加一个简单的类型转换方法,作为文本中的输入。使用以下命令:

    var y = parseInt(document.getElementById("txt1").value);
    var z = parseInt(document.getElementById("txt2").value);
    var x = y + z;
很简单:

<html>

    <body>
        <p>Click the button to calculate x.</p>
        <button onclick="myFunction()">Try it</button>
        <br/>
        <br/>Enter first number:
        <input type="text" id="txt1" name="text1">Enter second number:
        <input type="text" id="txt2" name="text2">
        <p id="demo"></p>

        <script>
            function myFunction() {
                var y = document.getElementById("txt1").value;
                var z = document.getElementById("txt2").value;
                var x = +y + +z;
                document.getElementById("demo").innerHTML = x;
            }
        </script>
    </body>
</html>

单击按钮以计算x

试试看

输入第一个数字: 输入第二个数字:

函数myFunction(){ var y=document.getElementById(“txt1”).value; var z=document.getElementById(“txt2”).value; var x=+y++z; document.getElementById(“demo”).innerHTML=x; }
我只使用了
Number()

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

另一种解决方案是共享:):

试试这个:

<!DOCTYPE html>
<html>

    <body>
        <p>Add Section</p>

        <label>First Number:</label>
        <input id="txt1"  type="text"/><br />
        <label>Second Number:</label>
        <input id="txt2"  type="text"/><br />

        <input type="button" name="Add" value="Add" onclick="addTwoNumber()"/>
        <p id="demo"></p>

        <script>
            function myFunction() {
                document.getElementById("demo").innerHTML = Date();
            }

            function addTwoNumber(){
                var a = document.getElementById("txt1").value;
                var b = document.getElementById("txt2").value;

                var x = Number(a) + Number(b);
                document.getElementById("demo").innerHTML = "Add Value: " + x;
            }
        </script>
    </body>
</html>

添加节

第一个号码:
第二个号码:

函数myFunction(){ document.getElementById(“demo”).innerHTML=Date(); } 函数addTwoNumber(){ var a=document.getElementById(“txt1”).value; var b=document.getElementById(“txt2”).value; 变量x=数量(a)+数量(b); document.getElementById(“demo”).innerHTML=“添加值:”+x; }
简单

var result = parseInt("1") + parseInt("2");
console.log(result ); // Outputs 3

添加步骤中缺少类型转换…
var x=y+z应该是
var x=parseInt(y)+parseInt(z)


单击按钮以计算x

试试看

输入第一个数字: 输入第二个数字:

函数myFunction() { var y=document.getElementById(“txt1”).value; var z=document.getElementById(“txt2”).value; var x=parseInt(y)+parseInt(z); document.getElementById(“demo”).innerHTML=x; }

函数加法()
{
var a=parseInt(form.input1.value);
var b=parseInt(form.input2.value);
变量c=a+b
文件。编写(c);
}



此代码将两个变量相加!把它放在你的功能中

var y = parseInt(document.getElementById("txt1").value);
var z = parseInt(document.getElementById("txt2").value);
var x = (y +z);
document.getElementById("demo").innerHTML = x;`

如果我们有两个输入字段,那么从输入字段中获取值,然后使用JavaScript添加它们

$('input[name="yourname"]').keyup(function(event) {
    /* Act on the event */
    var value1 = $(this).val();
    var value2 = $('input[name="secondName"]').val();
    var roundofa = +value2+ +value1;

    $('input[name="total"]').val(addition);
});

这并不是总数;相反,它将连接它:

var x = y + z;
您需要执行以下操作:

var x = (y)+(z);
必须使用parseInt来指定对数字的操作。例如:

var x = parseInt(y) + parseInt(z); [final soulution, as everything us]

下面是解析函数中变量的代码

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

单击按钮以计算x

试试看

输入第一个数字:
输入第二个数字:

函数myFunction(){ var y=parseInt(document.getElementById(“txt1”).value); var z=parseInt(document.getElementById(“txt2”).value); var x=y+z; document.getElementById(“demo”).innerHTML=x; }
回答


使用
parseFloat
它将字符串转换为包含十进制值的数字

 function myFunction() {
      var y = document.getElementById("txt1").value;
      var z = document.getElementById("txt2").value;
      var x = parseFloat(y) + parseFloat(z);
      document.getElementById("demo").innerHTML = x;
    }


单击按钮以计算x。
试试看

输入第一个数字: 输入第二个数字:


函数和()
{
var number1=document.getElementById('num1')。值;
var number2=document.getElementById('num2')。值;
如果(数字1=''){
数字1=0
var num3=parseInt(number1)+parseInt(number2);
document.getElementById('result')。值=num3;
}
否则如果(数字2==“”)
{
数字2=0;
var num3=parseInt(number1)+parseInt(number2);
document.getElementById('result')。值=num3;
}
其他的
{
var num3=parseInt(number1)+parseInt(number2);
document.getElementById('result')。值=num3;
}
}
您还可以编写: var z=x--y; 你会得到正确的答案

<body>

<input type="text" id="number1" name="">
<input type="text" id="number2" name="">
<button type="button" onclick="myFunction()">Submit</button>

<p id="demo"></p>

    <script>
    function myFunction() {
        var x, y ;

        x = document.getElementById('number1').value;
        y = document.getElementById('number2').value;

        var z = x - -y ;

        document.getElementById('demo').innerHTML = z;
    }
    </script>
</body>

提交

函数myFunction(){ 变量x,y; x=document.getElementById('number1')。值; y=document.getElementById('number2')。值; var z=x--y; document.getElementById('demo').innerHTML=z; }
一般来说,以下内容可能有用

  • 首先,HTML表单字段仅限于文本。这尤其适用于文本框,即使您已尽力确保该值看起来像一个数字

  • 第二,JavaScript,不管好坏,已经用两种含义重载了
    +
    操作符:它增加了number
    var x = parseInt(y) + parseInt(z); [final soulution, as everything us]
    
    <html>
      <body>
        <p>Click the button to calculate x.</p>
        <button onclick="myFunction()">Try it</button>
        <br/>
        <br/>Enter first number:
        <input type="text" id="txt1" name="text1">
        <br>Enter second number:
        <input type="text" id="txt2" name="text2">
        <p id="demo"></p>
        <script>
          function myFunction() {
            var y = parseInt(document.getElementById("txt1").value);
            var z = parseInt(document.getElementById("txt2").value);
            var x = y + z;
            document.getElementById("demo").innerHTML = x;
          }
        </script>
      </body>
    </html>
    
     function myFunction() {
          var y = document.getElementById("txt1").value;
          var z = document.getElementById("txt2").value;
          var x = parseFloat(y) + parseFloat(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>
    
      <input type="text" name="num1" id="num1" onkeyup="sum()">
      <input type="text" name="num2" id="num2" onkeyup="sum()">
      <input type="text" name="num2" id="result">
    
      <script>
         function sum()
         {
    
            var number1 = document.getElementById('num1').value;
            var number2 = document.getElementById('num2').value;
    
            if (number1 == '') {
               number1 = 0
               var num3 = parseInt(number1) + parseInt(number2);
               document.getElementById('result').value = num3;
            }
            else if(number2 == '')
            {
               number2 = 0;
               var num3 = parseInt(number1) + parseInt(number2);
               document.getElementById('result').value = num3;
            }
            else
            {
               var num3 = parseInt(number1) + parseInt(number2);
               document.getElementById('result').value = num3;
            }
    
         }
      </script>
    
    <body>
    
    <input type="text" id="number1" name="">
    <input type="text" id="number2" name="">
    <button type="button" onclick="myFunction()">Submit</button>
    
    <p id="demo"></p>
    
        <script>
        function myFunction() {
            var x, y ;
    
            x = document.getElementById('number1').value;
            y = document.getElementById('number2').value;
    
            var z = x - -y ;
    
            document.getElementById('demo').innerHTML = z;
        }
        </script>
    </body>
    
    var data=parseInt(form.elements['data'].value); //  or parseFloat
    
    var data=parseInt(form.elements['data'].value) || 0;
    
     var1 - (- var2)
    
    <form oninput="result.value=parseInt(a.valueAsNumber)+parseInt(b.valueAsNumber)">
      <input type="number" id="a" name="a" value="10" /> +
      <input type="number" id="b" name="b" value="50" /> =
      <output name="result" for="a b">60</output>
    </form>
    
    <form oninput="result.value=parseInt(a.valueAsNumber)+parseInt(b.valueAsNumber)">
      <input type="range" id="a" name="a" value="10" /> +
      <input type="number" id="b" name="b" value="50" /> =
      <output name="result" for="a b">60</output>
    </form>
    
    function calculate(a, b) {
      return a + b
    }
    console.log(calculate(5, 6))