Back to Formatjs

@formatjs/bigdecimal

packages/bigdecimal/README.md

4.5.0842 B
Original Source

@formatjs/bigdecimal

BigInt-backed decimal arithmetic library designed as a lightweight replacement for decimal.js in ECMA-402 polyfills.

Representation

Values are represented as mantissa × 10^exponent where:

  • mantissa is a bigint (signed, normalized — no trailing zeros)
  • exponent is a number (integer scaling factor)
  • Special flags handle NaN, ±Infinity, and -0

API

Implements the 27 methods used by @formatjs/ecma402-abstract:

  • Arithmetic: times, div, plus, minus, mod, abs, negated, pow, floor, ceil, log
  • Comparison: eq, lessThan, greaterThan, lessThanOrEqualTo, greaterThanOrEqualTo
  • Queries: isZero, isNaN, isFinite, isNegative, isPositive, isInteger
  • Conversion: toNumber, toString
  • Static: BigDecimal.pow, BigDecimal.set