加上算术运算

时间:2013-09-04 12:52:19

标签: javascript html math

我尝试使用 Plus算术运算 来计算2个输入文本类型的数字值,但我的结果是值是“在一起”,就像那样:

  • 价值一:5
  • 价值二:5

结果

55

通缉结果

10

代码

<script type="text/javascript">
   function cal(){
    var plus = document.getElementById('plus').value,
        plus1 = document.getElementById('plus1').value;
    var x = plus + plus1;
    var result = document.getElementById('result');
    if(result.value == ""){
     result.innerHTML = "?";
    }
    else{
     result.innerHTML = x;
    }
  }
</script>

<input type="text" id="plus" /> + <input type="text" id="plus1" /> = <span id="result"></span>

我怎样才能得到加号结果而不是几个数字?

7 个答案:

答案 0 :(得分:2)

你可以试试这个:

function cal(){
    var plus = +document.getElementById('plus').value,
        plus1 = +document.getElementById('plus1').value;
    var x = plus + plus1;
    var result = document.getElementById('result');
    if(isNaN(plus) || isNaN(plus1) || result.value == ""){
     result.innerHTML = "?";
    }
    else{
     result.innerHTML = x;
    }
  }

注意将两个字符串值转换为数字的+符号。

答案 1 :(得分:2)

var plus = parseInt(document.getElementById('plus').value, 10),
    plus1 = parseInt(document.getElementById('plus1').value, 10);

这将做你想要的。

答案 2 :(得分:1)

从DOM中的输入元素获得的所有值都将成为字符串 Javascript使用+来连接字符串和添加。
为了清楚地说明你想要添加数字而不是连接字符串,你需要确保你的值是数字:

parseInt(plus, 10) + parseInt(plus1, 10)

是的,这是Javascript中最基本且经常遇到的陷阱之一。

答案 3 :(得分:0)

在parseInt()中包含plus和plus1,以便添加而不是连接。

var plus = parseInt( document.getElementById('plus').value ),
    plus1 = parseInt( document.getElementById('plus1').value );

答案 4 :(得分:0)

您需要将它们解析为Integer类型:

var x = parseInt(plus) + parseInt(plus1);

然后你可以使用isNaN()来判断它是否是一个有效的操作:(注意我正在检查x的值而不是结果输出的值)

if(isNaN(x)){
 result.innerHTML = "?";
}
else{
 result.innerHTML = x;
}

生活演示:http://jsfiddle.net/4KB5Y/3/

答案 5 :(得分:0)

parseInt是您的代码中缺少的...您需要将其解析为只进行连接操作的整数限制,因此您可以执行此操作

var plus = parseInt(document.getElementById('plus').value, 10),
plus1 = parseInt(document.getElementById('plus1' ).value, 10);

var x = parseInt(plus , 10) + parseInt(plus1 , 10) ;

答案 6 :(得分:-1)

http://jsfiddle.net/BLGLe/

<script type="text/javascript">
   function cal(){
    var plus = parseInt(document.getElementById('plus').value),
        plus1 = parseInt(document.getElementById('plus1').value);
    var x = plus + plus1;
    var result = document.getElementById('result');
    if(result.value == ""){
     result.innerHTML = "?";
    }
    else{
     result.innerHTML = x;
    }
  }
</script>

<input type="text" id="plus" /> + <input type="text" id="plus1" /> = <span id="result"></span>