Javascript 在计算器中添加字符串而不是数字
我对JavaScript相当陌生,而且这段代码不是很高级。我正在构建一个简单的计算器,有两个输入和一个下拉菜单来选择一个操作。每当我尝试添加两个输入时,它都会添加字符串。但是,所有其他操作都是有效的。我认为问题出现在第7行:var total=n1+n2;这可能是在添加字符串而不是数字,有什么解决方案吗Javascript 在计算器中添加字符串而不是数字,javascript,numbers,Javascript,Numbers,我对JavaScript相当陌生,而且这段代码不是很高级。我正在构建一个简单的计算器,有两个输入和一个下拉菜单来选择一个操作。每当我尝试添加两个输入时,它都会添加字符串。但是,所有其他操作都是有效的。我认为问题出现在第7行:var total=n1+n2;这可能是在添加字符串而不是数字,有什么解决方案吗 function calculate() { const n1 = document.getElementById("Num1"
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>
函数计算(){
const n1=document.getElementById(“Num1”).value;
const n2=document.getElementById(“Num2”).value;
const e=document.getElementById(“op”);
const oper=e.options[e.selectedIndex].text;
如果(操作规范化()=“+”){
var总=n1+n2;
}else if(操作规范化()=“-”){
var总=n1-n2;
}else if(操作规范化()=“*”){
var总=n1*n2;
}else if(操作规范化()=“/”){
var总=n1/n2;
}
document.getElementById(“demo”).innerHTML=total;
}
+
-
*
/
计算
我使用了相同的代码,工作正常,但如果您遇到问题,请尝试使用parseInt(n1)将字符串转换为数字Im使用Sublime text 3和google chrome,这可能就是它对您有效的原因。