bigNumber.js的简单使用
sum
计算传入的参数和,参数类型可以是 String,Number
// 两数之和 var x = BigNumber.sum('11', 23) x.toNumber() // 34 // 多个参数 arr = [2, new BigNumber(14), '15.9999', 12] var y = BigNumber.sum(...arr) y.toString() // '43.9999'
maximum,minimum
求最大值,简写max,min
var x = [2222, 3333, '4444'] BigNumber.max(...x).toNumber() // 4444 BigNumber.min(...x).toNumber() // 2222
decimalPlaces(dp)
确定小数位数
var x = new BigNumber(1234.5678912345) var y = new BigNumber(1234.56) x.dp(2).toNumber() // 1234.57 y.dp(10).toNumber() // 1234.56
plus
加法运算
0.1 + 0.2 // 0.30000000000000004 var x = new BigNumber(0.1) x.plus(0.2).toNumber() // 0.3
minus
减法运算
0.3 - 0.1 // 0.19999999999999998 var x = new BigNumber(0.3) x.minus(0.1) // 0.2
multipliedBy(times)
乘法运算
0.6 * 3 // 1.7999999999999998 var x = new BigNumber(0.6) x.times(3) // 1.8
dividedBy(div)
除法运算
var x = new BigNumber(300) x.div(3).toNumber() // 100 x.div(7).dp(3).toNumber() // 42.857
dividedToIntegerBy(idiv)
除法运算,返回整数
var x = new BigNumber(5) x.idiv(3).toNumber() // 1 x.idiv(0.7).toNumber() // 7
modulo(mod)
取余
1 % 0.9 // 0.09999999999999998 var x = new BigNumber(1) x.mod(0.9).toNumber() // 0.1
toFixed
控制小数位数,不够后面补0
var x = 3.456 var y = new BigNumber(x) x.toFixed().toNumber() // 3 y.toFixed().toNumber() // 3.456 y.toFixed(0).toNumber() // 3 y.toFixed(2).toNumber() // 3.46 y.toFixed(5).toNumber() // 3.45600
更多方法请参照:https://xjq.icu/FrontEnd/Bignumberjs.html#multipliedby-times