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

奇怪了 做- * /都可以。。。为什么做+ 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;

}


提问者:qq_Hy_49 2018-07-29 21:05

个回答

  • _蓝天白云______
    2018-07-29 23:41:41
    已采纳

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

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

  • MistyDrizzle
    2018-07-29 22:54:05

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