js 处理四则运算失去精度问题

大家知道 在js 中,在计算精度,特别是浮点数计算。举个栗子

 
?

然后我寻求各种解决办法,其中用了lodash,ramda提供的四则运算。结果发现并没有完全的解决这个问题, 怎么办呢?

然后我各种百度借鉴大神的解决办法, 一波三折又发现一个问题。大神在封装四则运算的时候, 用了toFixed 方法。然而这个方法也有坑,举个栗子。


栗子2

所以通过上图我们发现 2.55 这个变态数字取以为的时候和其他不一样。

经过的不断的研究和测试最终 封装了五个方法下面贴源代码:


toFixed方法




加法



减法



乘法



除法

如果使用npm 的同学可以这样

npm i fourth_calculate --save

import Calculate from fourth_calculat

调用 Calculate.toFixed、Calculate.Add() 等等

-- 如果觉得复杂的同学 请移步 下面的链接:

代码 github地址 :https://github.com/yuhaiyang1/float_calculate

其中这几个方法都写了单元测试 有兴趣的同学可以看下,也可以关注我,我会持续把我遇到的坑点分享给大家的。
补充: 最近发现有个库 big.js 可以避免这个问题 顺便安利一下



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值