js是弱类型语言,其数值类型数据是用64位浮点型存储,不论整数还是小数。
导致:
0.1 + 0.2 === 0.3; //false
JS在对比浮点型数据,需定义一个精度范围而不是直接比较两个变量,Number.EPSILON 表示最小浮点数值约为2.2*e-16。
因此:
(0.1 + 0.2) - 0.3 < Number.EPSILON;//true
js是弱类型语言,其数值类型数据是用64位浮点型存储,不论整数还是小数。
导致:
0.1 + 0.2 === 0.3; //false
JS在对比浮点型数据,需定义一个精度范围而不是直接比较两个变量,Number.EPSILON 表示最小浮点数值约为2.2*e-16。
因此:
(0.1 + 0.2) - 0.3 < Number.EPSILON;//true
本文标题:JS数值比较,需要注意的问题
本文链接:https://www.haomeiwen.com/subject/xstqmqtx.html
网友评论