问答详情
源自:6-11 编程练习

为什么我的加出来是字符串

<!DOCTYPE html>
<html>
 <head>
   <title> 事件</title>
       <script type="text/javascript">
          function count(){ 
                    //获取第一个输入框的值
                        var num1=document.getElementById("txt1").value;	
                        //获取第二个输入框的值	
                        var num2=document.getElementById("txt2").value;	
                        //获取选择框的值	
                        var yuns=document.getElementById("select").value;
                        	//获取通过下拉框来选择的值来改变加减乘除的运算法则
                        		var sum;
                        			switch(yuns){
                        				    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>
                        				    	       </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>


提问者:HYDMonster 2018-11-15 18:28

个回答

  • xdh
    2018-11-16 18:51:56
    已采纳

    要对输入框的两个值通过parsInt进行数字取整 

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

    var num1=pareInt(document.getElementById("txt1").value);

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

    var num2=pareInt(document.getElementById("txt2").value);


  • xdh
    2018-11-16 18:50:20

    要对输入框的两个值通过parsInt进行数字取整 

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

    var num1=document.getElementById("txt1").value;

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

    var num2=document.getElementById("txt2").value;


  • 慕移动0851642
    2018-11-15 20:30:29

    JS里面变量的类型没有明确的指定,所有变量的定义都是用var,在这里var num1=document.getElementById("txt1").value;用控制台查看可以发现是"x"这样的字符串。然后+号可以重载成字符串拼接~~~~

  • 津津有味道
    2018-11-15 20:25:07

    我写法跟你一样,也遇到了同样的问题,这种写法只有加法运算会变成字符串连接,在加法这样修改就行case "+":n=Number(num1)+Number(num2);,