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

算的结果怎么不对

你们有没有算一下结果竟然不对啊。1加1怎么会等于1

提问者:qq_明媚的忧伤_1 2017-03-12 22:24

个回答

  • 慕li
    2017-03-12 22:45:46
    已采纳

    是不是没有调用pareInt()函数,将获取的字符串类型转换为整型。

  • 吱吱叫的老鼠
    2017-03-13 15:46:05

    按照下面这个格式就可以

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

    借用别的小伙伴的话:

    1.input获取的value是字符串
    2.js是弱数据类型,在运算中会自动转换

    只有+这个运算符是既可以在数字中使用也可以在字符串中使用,所以会出现'1'+'2'='12',而1*2=2是因为字符串'1'在*运算中会自动转化成数字1,所以计算是正确的。

    所以需要用parseFloat或者parseInt对字符串进行转换