我在javascript中制作了一个简单的计算器,但+
按钮不起作用,它只是显示数字在一起
这是我的代码:
<script>
function calc(operator) {
var x = document.getElementById("inp1").value;
var y = document.getElementById("inp2").value;
var z = 0;
switch (operator) {
case "+":
z = x + y;
break;
case "-":
z = x - y;
break;
case "*":
z = x * y;
break;
case "/":
z = x / y;
break;
}
document.getElementById("result").innerHTML=z;
}
</script>
答案 0 :(得分:2)
您可以这样使用:
z= +x + +y; // + is prefixed to convert input into number
答案 1 :(得分:2)
x
和y
变量包含字符串。将它们解析为数字:
var x = parseFloat(document.getElementById("inp1").value);
var y = parseFloat(document.getElementById("inp2").value);
它恰好适用于其他运算符,因为字符串没有减法,乘法或除法,它指出它必须将字符串转换为数字。
答案 2 :(得分:1)
var x=document.getElementById("inp1").value;
var y=document.getElementById("inp2").value;
将这些文本框中的值作为字符串返回。
在字符串上使用+
运算符时,它将连接值。如果对数字使用相同的运算符,则会添加值。
您需要使用以下方法之一使用parseInt
函数将文本框值解析为整数。
var x=parseInt(document.getElementById("inp1").value);
var y=parseInt(document.getElementById("inp2").value);
然后执行z=x+y;
我会推荐这个,因为所有操作,而不仅仅是添加,都将在整数上执行。
或只是将z=z+y;
更改为z = parseInt(x) + parseInt(y);
答案 3 :(得分:1)
将字符串转换为数字的快捷方法是使用一元+运算符。
z = +x + +y
或
z = parseInt(x) + parseInt(y);
答案 4 :(得分:1)
var x = parseInt(document.getElementById("inp1").value);
这会将您的“字符串”数字转换为整数,如果您有浮点数,也可以使用parseFloat()
答案 5 :(得分:1)
您可以这样使用:
var x = document.getElementById("inp1").value*1;
var y = document.getElementById("inp2").value*1;
x在这一刻是数字!!
对我来说更干净!!!