浮点数相加

2019-07-10  本文已影响0人  希染丶

题目

    var a =0.1,b=0.2;
    console.log(fn());
    console.log(c);
    console.log(d);
    function fn(){
      c = a+b;
      console.log(+ '0.1' == a);
      console.log(c)
      console.log(c === 0.3);
    }

问:输入结果是什么?

解析:此题有三处考点
1.浮点数0.1和0.2相加,得出结果是 0.30000000000000004
2.变量提升:在fn中没有定义c,直接使用,变量提升为全局变量,所以 c = 0.1 + 0.2 = 0.30000000000000004,所以 c===0.3 为false
3.隐式转换: 字符串 0.1 与加号结合,转为了数字型

最终输出结果为:
true, false
0.3000000000000000000000004
false

上一篇下一篇

猜你喜欢

热点阅读