前端计算金额精度丢失的懒人解决方式

前端js浮点数计算时常常出现循环小数,比如这样:

console.log(0.1+0.2)
// 输出:0.30000000000000004
console.log(0.1*0.7)
// 输出:0.06999999999999999

所以导致项目里面出了这样的问题:
在这里插入图片描述

懒人解决方法:

先保留指定位数的小数,再使用Number转换成数值
Number(数字.toFixed(保留小数位))

let a = 0.1+0.2 
Number(a.toFixed(4))
// 得到0.3

转换后:
在这里插入图片描述

因为赶进度,就先这样解决了,因为这个项目前后端双重校验,精度丢失的情况下无法支付成功。
目前尚未发现有问题,如果各位大佬有何见解欢迎评论去指正!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值