首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

0.1 + 0.2 不等于 0.3?原来是因为这个

ES6在 Number 对象上新增了一个极小的常量Number.EPSILONNumber.EPSILON // 2.220446049250313e-16 Number.EPSILON.toFixed...(20) // "0.00000000000000022204" 引入一个这么小的量,目的在于为浮点数计算设置一个误差范围,如果误差能够小于Number.EPSILON,我们就可以认为结果是可靠的。...} withinErrorMargin(0.1+0.2, 0.3) 看,0.3 - ( 0.1 + 0.2 ) 的误差是1e-17次方,小于 Number.EPSILON,那么我们就认为二者在大部分场景下是等值的...需要用toFixed取近似值的地方,可以先加上1e-14或Number.EPSILON,再取。 4....判定两个数字相等,可以使用Math.abs(left - right) < Number.EPSILON 5. 实在不会,就直接用别人写好的成熟库吧。

35420

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券