常见有两类问题:浮点数精度问题,大数据精度问题
一般情况使用Number
的toFixed()
进行四舍五入取值
const sum = 0.1 + 0.2 // => 0.30000000000000004
sum.toFixed(2) // => '0.30'
但这样的值并不精准,想得到更加精准的值,使用big.js
等比较成熟的第三方库
1.安装插件
npm install --save big.js
2.引用
import Big from 'big.js'
3.使用
// 常用方法使用
// 加法
sum = parseFloat(new Big(0.1).plus(0.2))
// 减法
sum = parseFloat(new Big(0.1).minus(0.2))
// 乘法
sum = parseFloat(new Big(0.1).times(0.2))
// 除法
sum = parseFloat(new Big(0.1).div(0.2))
// 绝对值
sum = parseFloat(new Big(0.1).abs(0.2))
// 取模
sum = parseFloat(new Big(0.1).mod(0.2))