JS精度计算的几种解决方法,1、转换成整数计算后再转换成小数,2、toFixed,3、math.js,4、bignumber.js,5、big.js

提示:学习express,搭建管理系统


前言

原始计算

 let aNum = 6.6 + 0.3;
 let bNum = 6.6 - 0.2;
 let cNum = 6.6 * 0.3;
 let dNum = 6.6 / 0.2;
 console.log(aNum,bNum,cNum,dNum,'normal');

一、转换成整数计算后再转换成小数

//乘以小数点后保留的位数的倍数
let multipleNum = 100;
 aNum = (Math.round(6.6*multipleNum + 0.3*multipleNum))/multipleNum;
 bNum = (Math.round(6.6*multipleNum - 0.2*multipleNum))/multipleNum;
 cNum = (Math.round(6.6 * 0.3 * multipleNum))/multipleNum;
 dNum = (Math.round((6.6 / 0.2) * multipleNum))/multipleNum;
 console.log(aNum,bNum,cNum,dNum,'multipleNum');

在这里插入图片描述

二、toFixed

Number.toFixed会返回String类型

//toFixed四舍五入保留几位小数  并且把number类型转成string类型
aNum = parseFloat((6.6+0.3).toFixed(2))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值