添加按钮在javascript中不起作用

时间:2014-09-02 07:09:02

标签: javascript

我在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>

6 个答案:

答案 0 :(得分:2)

您可以这样使用:

z= +x + +y; // + is prefixed to convert input into number

答案 1 :(得分:2)

xy变量包含字符串。将它们解析为数字:

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在这一刻是数字!!

对我来说更干净!!!