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

来源:6-11 编程练习

qq_Hy_49

2018-07-29 21:05


 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回答

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

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

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

    qq_Hy_...

    非常感谢!

    2018-08-08 12:15:22

    共 1 条回复 >

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

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

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题