js是弱類型語言,其數(shù)值類型數(shù)據(jù)是用64位浮點(diǎn)型存儲(chǔ)懦铺,不論整數(shù)還是小數(shù)。
導(dǎo)致:
0.1 + 0.2 === 0.3念祭; //false
JS在對比浮點(diǎn)型數(shù)據(jù)脯爪,需定義一個(gè)精度范圍而不是直接比較兩個(gè)變量,Number.EPSILON 表示最小浮點(diǎn)數(shù)值約為2.2*e-16就漾。
因此:
(0.1 + 0.2) - 0.3 < Number.EPSILON呐能;//true