为什么我的加法运算不对?求指教!!

来源:6-11 编程练习

qq_LittleKun_0

2018-07-03 14:31

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){

       var x = document.getElementById("txt1").value

       var y = document.getElementById("txt2").value

       var h= document.getElementById("select").value

      // var z = document.getElementById("fruit").value

      switch (h){

          case "+" :

          var result = x+y ;

          break;

          case "-":

          var result = x-y;

          break;

          case "*":

        var result = x * y;

        break;

        case "/":

        var result = x / y ;

        break;

      }

          document.getElementById("fruit").value=result;

  

       

    //获取第一个输入框的值

//获取第二个输入框的值

//获取选择框的值

//获取通过下拉框来选择的值来改变加减乘除的运算法则

    //设置结果输入框的值 

    

   }

  </script> 

 </head> 

 <body>

   <input type='text' id='txt1' /> 

   <select id='select'>

<option value='+'>+</option>

<option value="-">-</option>

<option value="*">*</option>

<option value="/">/</option>

   </select>

   <input type='text' id='txt2' /> 

   <input type='button' value=' = ' onclick="count()"/> <!--通过 = 按钮来调用创建的函数,得到结果--> 

   <input type='text' id='fruit' />   

 </body>

</html>


写回答 关注

2回答

  • 慕婉清7712429
    2018-07-03 15:04:51
    已采纳

    数学算法你这样写直接是错误的,因为你现在的加法相加时两个字符串的合并,比如“1+1”结果是11,而不是数学运算,如果想要输入的是可用于运算的数字时,用parseInt进行强制类型转换,如果你输入的数字中包含小数,要用parseFloat进行转换,

    这里正确的写法应该是

    var result=parseInt(x)+parseInt(y);

    或者:

    var result=parseFloat(x)+parseFloat(y);

    慕婉清771... 回复qq_Lit...

    哈哈哈哈哈,这么巧的吗

    2018-07-03 18:15:21

    共 3 条回复 >

  • 慕码人4304833
    2018-07-19 17:39:17

    document.getElementById("fruit").value=result; 这句话为什么不能提到前面。var z = document.getElementById("fruit").value

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题