加法计算不正确

来源:6-11 编程练习

你笑了嘿

2017-03-09 14:25

function count(){
       //获取第一个输入框的值
      var num1=document.getElementById("txt1").value;
    //获取第二个输入框的值
    var num2=document.getElementById("txt2").value;
    //获取选择框的值
    var sel=document.getElementById("select").value;
    //获取通过下拉框来选择的值来改变加减乘除的运算法则
    var sum=0;
    switch(sel)
    {
        case "+":
            sum=num1+num2;
            break;
       case "-":
            sum=num1-num2;
            break;
       case "*":
            sum=num1*num2;
            break;
       case "/":
            sum=num1/num2;
            break;
    }
    //设置结果输入框的值
    document.getElementById("fruit").value=sum;
   }
  </script>
计算结果 5+6=56

写回答 关注

2回答

  • 慕粉18361221551
    2017-03-09 20:01:41

    var a=parseInt(document.getElementById("txt1").value);//获取第一个输入框的值

    var b=parseInt(document.getElementById("txt2").value);//获取第二个输入框的值

    用函数parseInt()将字符转换为数字,就可以顺利运行了

  • 学习js
    2017-03-09 15:06:33

    1.input获取的value是字符串
    2.js是弱数据类型,在运算中会自动转换

    只有+这个运算符是既可以在数字中使用也可以在字符串中使用,所以会出现'1'+'2'='12',而1*2=2是因为字符串'1'在*运算中会自动转化成数字1,所以计算是正确的。

    所以需要用parseFloat或者parseInt对字符串进行转换


JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468190 学习 · 21891 问题

查看课程

相似问题