npm install bignumber.js
common.js
import { BigNumber } from 'bignumber.js';
// +
export function plus(a, b) {
a = BigNumber(a);
b = BigNumber(b);
return a.plus(b).toNumber(); //结果需要用toNumber转为普通数字
}
// -
export function minus(a, b) {
a = BigNumber(a);
b = BigNumber(b);
return a.minus(b).toNumber();
}
// *
export function times(a, b) {
a = BigNumber(a);
b = BigNumber(b);
return a.times(b).toNumber();
}
// /
export function div(a, b) {
a = BigNumber(a);
b = BigNumber(b);
return a.div(b).toNumber();
}
main.js
import {
plus,
minus,
times,
div
} from '@/utils/common.js' //公共方法
Object.assign(Vue.prototype, {
'$plus':plus,
'$minus':minus,
'$times':times,
'$div':div
})
页面调用
this.$plus(1,2) // 加
this.$minus(1,2) // 减
this.$times(1,2) // 乘
this.$div(1,2) // 除
大小比较和是否相等,true或false
let max = new BigNumber(10)
let min = new BigNumber(5)
相等:max.eq(min)
小于:max.lt(min)
小于等于:max.lte(min)
大于:max.gt(min)
大于等于:max.gte(min)
是否是0:max.isZero()
精度调整:dp(3) // 55.833333333333336 == 55.8333
bignumber类型转数字
let a = BigNumber(20.123456)
console.log(a);
console.log(a.toNumber());
console.log(a.toString());
console.log(a.dp(4).toNumber());