js中关于0.1+0.1不等于0.2 ,而console.log(0.1)是0.1,面试01
问题的抛出如上图
问题1分析:
0.1和0.2都是浮点数
浮点数用二进制来表示
在js中浮点数使用的是64位固定长度来表示
0.1转成二进制是一个无限循环小数
在内存中拿出来的肯定就是精度缺失的
由此0.1+0.2!=0.3
问题二分析:
分析如下:
0.1先被转化成二进制数值
二进制数值又被转成十进制数值
十进制数值又转化成字符串
主要就是在转换过程中取了近似值
...
原创
2022-01-05 23:02:43 ·
781 阅读 ·
0 评论