js计算金额精度问题--currency.js(2022.11.10 阴)

问题重现:

console.log(10*2.88,'价格')
// 结果为 28.799999999999997
// 原因:
// 计算机能读懂的是二进制,进行运算的时候,实际上是把数字转换为了二进制进行的 // 这个过程 丢失了精度。

解决方法:

使用第三方插件:currency.js

// npm 下载
npm install --save currency.js
//yarn 下载
yarn add currency.js
// 使用方法一 引入到需要使用的页面
// 使用页面
import currency from 'currency.js'
currency(numarr[0]).multiply(numarr[1])
// currency.js 还拥有对数据的格式化功能 在这就不再赘述 
// 2022-12-17 发现问题 currency 结果为3位小数时 第四位会四舍五入

currency(x).multiply(y)

代表x乘上y

currency(x).add(y)

代表x加上y

currency(x).subtract(y)

代表x减上y

currency(x).divide(y)

代表x除上y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值