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

设置计算机的程序,为什么只有加号不成功啊,求解

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

+号的意义可能被识别为连接符,只有加号两端确定为数字时,才将加号作为加法处理

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

ssAfterHard 提问者

非常感谢!
2016-11-07 回复 有任何疑惑可以回复我~

因为input标签的value是字符串格式,字符串相加就是拼接,而-*/都会自动先转成数字,再计算,因此,为了保证程序统一和可读,赋值的时候先将hom1和home2的value值的类型转换,利用parseInt(),如下:

home1=parseInt(document.getElementById("txt1").value);
home2=parseInt(document.getElementById("txt2").value);


2 回复 有任何疑惑可以回复我~
#1

ssAfterHard 提问者

谢谢啊,没想到计算机的程序就这么容易写出来了,谢谢
2016-11-04 回复 有任何疑惑可以回复我~

自带的符号啥的不能用吧。。

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

举报

0/150
提交
取消

设置计算机的程序,为什么只有加号不成功啊,求解

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