qq_明媚的忧伤_1
2017-03-12 22:24
你们有没有算一下结果竟然不对啊。1加1怎么会等于1
是不是没有调用pareInt()函数,将获取的字符串类型转换为整型。
按照下面这个格式就可以
case "+":
result= parseFloat(a)+parseFloat(b);
break;
借用别的小伙伴的话:
1.input获取的value是字符串
2.js是弱数据类型,在运算中会自动转换
只有+这个运算符是既可以在数字中使用也可以在字符串中使用,所以会出现'1'+'2'='12',而1*2=2是因为字符串'1'在*运算中会自动转化成数字1,所以计算是正确的。
所以需要用parseFloat或者parseInt对字符串进行转换
JavaScript进阶篇
468191 学习 · 21891 问题
相似问题