跳至正文
Wener Notes

bignumber.js

约 2 分钟阅读
  • 如果考虑 bundle size 选择 big.js 否则选择 decimal.js
  • 操作对象 Decimal 都是 immutable 的,注意接收处理返回结果
JavaScript
new BigNumber('ff.8', 16);
new Decimal('0xff.8');

// 处理小数的逻辑不一样
Bignumber.config({ DECIMAL_PLACES: 3, ROUNDING_MODE: 1 });
var x = new BigNumber('123.456789');
x.plus(1).toString(); // '124.456789'

Decimal.set({ precision: 7, rounding: 4 });
var y = new Decimal('123.456789');
y.plus(1).toString(); // '124.4568'
varstand for0.123-12345.67
ccoefficient1,2,31,2,3,4,5,6,7
eexponent-14
ssign1-1
configdefault
DECIMAL_PLACES20
ROUNDING_MODE4/ROUND_HALF_UP
EXPONENTIAL_AT[-7, 20]
RANGE[-1e+9, 1e+9]

Number

Number-
toString(base=10)
toFixed(digits=0)小数点后 n 位, 0 < digits < 20
toPrecision(precision?)总的 n 个有效数字, 无 precision = toString
toExponential(fractionDigits?)1.23e+5

关联信息

反向链接、本文链接的其他页面和外部资料。

反向链接

  • ethersjs
    笔记 · bignumber.js

    ethers-io/ethers.js · MIT, TS · 内置 ether.util.BigNumber - 封装 BN.js · elliptic 使用的 BN.js - 因为必须包含 elliptic 所以使用 BN.js 不需要引入额外包

  • JavaScript Awesome
    笔记 · bignumber.js

    novnc/noVNC · felixrieseberg/macintosh.js · RobinCsl/awesome-js-tooling-not-in-js · sorrycc/awesome-javascript · CLI / Table

参考资料

GitHub4 条
其他外链1 条
最近更新commit d1d6167编辑