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

奇怪了 做- * /都可以。。。为什么做+ 3+2 就变成32了


 function count(){

       

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

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

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

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

//获取选择框的值

var c=document.getElementById("select").value;

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

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

switch(c)

{

   case "+":result.value=(a+b);break;

   case "-":result.value=(a-b);break;

   case "*":result.value=(a*b);break;

   case "/":result.value=(a/b);break;

}


正在回答

2 回答

  你从文本框获取的值是字符串,字符串之间做* / - 都可以转换成数字执行,但是+比较特殊,系统会优先把+识别成连接符,就造成‘3’+‘2’=‘32’的情况 

   用parseInt先把取到的文本框的值转换成数字再计算就不会错啦

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

qq_Hy_49 提问者

非常感谢!
2018-08-08 回复 有任何疑惑可以回复我~

把获取的a和b用parseInt()方法把他们转换为数值试下

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

举报

0/150
提交
取消

奇怪了 做- * /都可以。。。为什么做+ 3+2 就变成32了

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