繁体   English   中英

为什么我的JavaScript程序没有将其转换为整数而不是字符串?

[英]Why my javascript program is not converting it to integer rather than string?

我创建了一个简单的程序,需要在其中添加1和3并显示4,但显示13是我的程序:

<html>
    <head>
        <style>
        </style>
        <script type="text/javascript">
        function calculate(){

            a = document.getElementById('num1').value;
            b = document.getElementById('num2').value;
            document.getElementById('result').innerHTML = a + b;
        }
        </script>
    </head>
    <body>
        <input id='num1' value="1"/>
        <input id='num2' value='3'/>
        <p id='result'></p>
        <button onclick="calculate()">Calculate</button>
    </body>
</html>

现在我该怎么做?

您必须转换为整数。 查看此代码。

    function calculate(){

        a = parseInt(document.getElementById('num1').value, 10);
        b = parseInt(document.getElementById('num2').value, 10);
        document.getElementById('result').innerHTML = a + b;
    }

这是因为value属性返回String 您需要将其转换为Number

但是,通过使用+一元运算符,有一个快捷方式。 您也可以将字符串包装在Number例如Number(a) + Number(b)

a = +document.getElementById('num1').value;
b = +document.getElementById('num2').value;

尝试这样做:

document.getElementById('result').innerHTML =  parseInt(a) + parseInt(b);

原因是因为您a和b是字符串,您需要先转换然后转换为数字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM