加法问题,"整数"表现得像字符串

0x4*_*2D2 0 javascript

    var 
        calculator = document.calculator;
            input1 = calculator.input1;
            input2 = calculator.input2;
            result = calculator.result;
            equals = calculator.equals;

    function add(a,b) {
     equals.value = a+b;
    }

    result.addEventListener("click", function() {
     add.apply(add, [input1.value, input2.value]);   
    });

<form name="calculator">
    <input type="text" name="input1" /><br />
    <input type="text" name="input2" /><br />
    <input type="button" name="result" value="result" /><br /><br />
    <input type="text" name="equals" readonly="true" />
</form>
Run Code Online (Sandbox Code Playgroud)

它只返回数字 - 不添加.例如:5 + 3 = 53不是8.我该如何解决这个问题?

San*_*tak 8

使用parseFloat(a) + parseFloat(b)如果它是一个float类型或parseInt(a, 10) + parseInt(b, 10)整数类型.

  • 数字(a)+数字(b)概括了 (4认同)
  • 应该在parseInt()上指定基数. (3认同)