为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的计算器算不对结果?

<!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 z=document.getElementById("select").value;  //获取选择框的值

var r;

switch(z)

{

           case '+':

       r=x+y;break;

           case '-':

       r=x-y;break;

           case '*':

       r=x*y;break;

           case'/':

       r=x/y;

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


  }

      //设置结果输入框的值 

document.getElementById('fruit').value = r;

   }

  </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>


正在回答

3 回答

使用parseInt()函数可解析一个字符串,并返回一个整数。

case后面要有break

0 回复 有任何疑惑可以回复我~

你获取的第一个数和第二个数不是数字类型的 而是字符串类型的,你需要把它转成数字类型的

0 回复 有任何疑惑可以回复我~

把第一个case改成:

case"+":r=parseInt(x)+parseInt(y);break;

要把字符串用parseInt函数转成int型才可进行数值的计算,不然只是字符串的加减所以1+1=11

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我的计算器算不对结果?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信