首页 > 解决方案 > 在计算器中添加字符串而不是数字

问题描述

我对 JavaScript 相当陌生,而且这段代码不是很高级。我正在构建一个带有两个输入和一个用于选择操作的下拉菜单的简单计算器。每当我尝试添加两个输入时,它都会添加字符串。但是,所有其他操作都有效。我认为问题出现在第 7 行: var total = n1 + n2; 这可能是添加字符串而不是数字任何解决方案?

        function calculate() {
                const n1 = document.getElementById("Num1").value;
                const n2 = document.getElementById("Num2").value;
                const e = document.getElementById("op");
                const oper = e.options[e.selectedIndex].text;
                   if (oper.normalize() === "+") {
                var total = n1 + n2;
            } else if (oper.normalize() === "-"){
                var total = n1 - n2;
            } else if (oper.normalize() === "*"){
                var total = n1 * n2;
            } else if (oper.normalize() === "/"){
                var total = n1 / n2;
            }
            document.getElementById("demo").innerHTML = total;
        }
    </script>
        <div style="background-color:rgb(225,225,225);border:1px solid black;margin-left:800px;margin-right:800px;"><br>
            <input id="Num1" placeholder="Input 1"><br><br>
                    <select id="op">
                        <option>+</option>
                        <option>-</option>
                        <option>*</option>
                        <option>/</option>
                    </select><br><br>
            <input id="Num2" placeholder="Input 2"><br><br>
            <button onclick="calculate()">Calculate</button><br><br>
        </div>
    <p style="color:red" id="demo"></p>

标签: javascriptnumbers

解决方案


我使用了相同的代码,它工作正常,但如果您遇到问题,请尝试使用 parseInt(n1) 将字符串转换为数字


推荐阅读