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

    js运算精准问题

    ​ 都知道拿js去做运算肯定会遇到计算精准的问题(或称舍入误差),但是怎么避开这些坑,这里是我从网上整理的方案,欢迎探讨。 ?...精准丢失的原因 计算机的二进制实现和位数限制有些数无法有限表示。就像一些无理数不能有限表示,如 圆周率 3.1415926…,1.3333… 等。...0.0001 1001 1001 1001…(1001无限循环) 0.2 >> 0.0011 0011 0011 0011…(0011无限循环) 解决方案 如需要更加复杂的计算类库,可以考虑 math.js...),再缩小回原来倍数(除倍数)转换成整数后的运算结果 不能超过 Math.pow(2,53) // 0.1 + 0.2 (0.1*10 + 0.2*10) / 10 == 0.3 // true 浮点精准运算...虽然运算结果不超过Math.pow(2,53)的整数(9007199254740992)也可以使用上面的方法,但是如果就是有超过的呢,实际场景中可能会是一些批次号、号段之类的需求,这里我也找到了一个解决方案,直接上代码

    4.1K10
    领券