在计算器中添加字符串而不是数字
Adding strings and not numbers in a calculator
我对 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>
我使用了相同的代码并且工作正常,但如果您遇到问题,请尝试使用 parseInt(n1) 将字符串转换为数字
我对 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>
我使用了相同的代码并且工作正常,但如果您遇到问题,请尝试使用 parseInt(n1) 将字符串转换为数字