与其他 IEEE 754 表示浮点数的编程语言一样,JavaScript 的 number 存在精度问题,比如 0.2 + 0.4 的结果是 0.6000000000000001。以下选项中,能得到 0.6 的是?

发布时间 2023-11-10 23:10:25作者: 龙陌

与其他 IEEE 754 表示浮点数的编程语言一样,JavaScript 的 number 存在精度问题,比如 0.2 + 0.4 的结果是 0.6000000000000001。以下选项中,能得到 0.6 的是?

A
parseFloat(0.2 + 0.4)
B
parseFloat((0.2 + 0.4).toFixed(1))
C
Math.round(0.2 + 0.4)
D
parseFloat((0.2 + 0.6).toPrecision(1))

parseFloat 解析一个字符串,并返回一个浮点数
toFixed 把数字转换为字符串,结果的小数点后有指定位数的数字
Math.round 把一个数字舍入为最接近的整数
toPrecision 把数字格式化为指定的长度

   选项      	       结果          
   A      	       0.6000000000000001      
   B      	       0.6      
   C      	       1      
   D      	       0.8      

D选项居然是0.2+0.6