1+2怎么是12,减乘除都还对。。?计算器程序

<!DOCTYPE html>
<html>
 <head>
  <title> 事件</title>  
  <script type="text/javascript">
   function count(){
       var a=document.getElementById("txt1").value;
    //获取第一个输入框的值
       var b=document.getElementById("txt2").value;
    //获取第二个输入框的值
       var c=document.getElementById("select").value;
       var z;
    //获取选择框的值
    switch(c)
    {
        case "+":
            z=a+b;
            break;
        case "-":
            z=a-b;
            break;    
        case "*":
            z=a*b;
            break;
        default:
            z=a/b;
               
    }
    //获过下拉框来选择的值来改变加减乘除的运算法则
    //设置结果输入框的值
    document.getElementById("fruit").value=z;
    
   }
  </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>

Timewatcher
浏览 1653回答 4
4回答

Caballarii

加法有拼接字符串的作用,a和b拿到的时候默认是字符串,减乘除的时候会直接转成数字,但加法不会,所以你应该先a=parseInt(a)一下,然后再做加法。

慕仰7261054

你从文本框获取的value是字符串类型的,在没有做类型转换的时候会进行字符串的拼接,要想做数字加法,需要用a=parseInt(a)来进行类型转换

寂灭天骄

注意数据格式 这里1+2进行的是字符串格式的拼接 而不是计算
打开App,查看更多内容
随时随地看视频慕课网APP