# 37、web3大数精度处理
# bignumber.js
TIP
// 导入
import BigNumber from 'bignumber.js';
const num = new BigNumber(val)
num.plus(n [, base]) ⇒ BigNumber // 加法
num.minus(n [, base]) ⇒ BigNumber // 减法
num.times(n [, base]) ⇒ BigNumber // 乘法
num.div(n [, base]) ⇒ BigNumber // 除法
num.mod(n [, base]) ⇒ BigNumber // 取模/取余
num.pow(n [, m]) ⇒ BigNumber // 指数运算
num.sqrt() ⇒ BigNumber // 开平方
num.comparedTo(n [, base]) ⇒ number // 比较大小 1:大于n 0:等于n -1:小于n null:num或n为NaN
num.eq(n [, base]) ⇒ boolean // 相等比较
num.gt(n [, base]) ⇒ boolean // 是否大于
num.gte(n [, base]) ⇒ boolean // 是否大于等于
num.lt(n [, base]) ⇒ boolean // 是否小于
num.lte(n [, base]) ⇒ boolean // 是否小于等于
num.dp([dp [, rm]]) ⇒ BigNumber|number // 精度调整
num.integerValue([rm]) ⇒ BigNumber // 取整
num.sd([d [, rm]]) ⇒ BigNumber|number // 有效数字
num.toFixed([dp [, rm]]) ⇒ string // 保留小数位数
# ethers中的 BigNumber
TIP
// 导入
import { BigNumber } from "ethers";
const num = BigNumber.from(val);
num.add(otherValue) ⇒ BigNumber // 加法
num.sub(otherValue) ⇒ BigNumber // 减法
num.mul(otherValue) ⇒ BigNumber // 乘法
num.div(otherValue) ⇒ BigNumber // 除法
num.mod(otherValue) ⇒ BigNumber // 取模/取余
num.pow(otherValue) ⇒ BigNumber // 指数运算
num.abs() ⇒ BigNumber // 绝对值
num.eq(otherValue) ⇒ boolean // 相等比较
num.gt(otherValue) ⇒ boolean // 是否大于
num.gte(otherValue) ⇒ boolean // 是否大于等于
num.lt(otherValue) ⇒ boolean // 是否小于
num.lte(otherValue) ⇒ boolean // 是否大于等于
num.isZero() ⇒ boolean // 是否大于等于
← 36、9跨域方法