UNPKG

@0xtorch/big-decimal

Version:

An arbitrary precision Decimal type for TypeScript that extends BigInt.

20 lines 873 B
import { fix } from './fix'; import { removeTrailingZeros } from './removeTrailingZeros'; export const divide = (x, y, fixDecimals, rounding = 'round') => { // adjust the decimals and divide the values. const fixDecimalsX = fixDecimals === undefined || fixDecimals < x.decimals ? x.decimals : fixDecimals + 1; const fixValueX = fixDecimals === undefined || fixDecimals < x.decimals ? x.value : x.value * 10n ** BigInt(fixDecimals + 1 - x.decimals); const valueX = fixValueX * 10n ** BigInt(y.decimals); const valueY = y.value; const value = valueX / valueY; if (fixDecimals === undefined) { // remove trailing zeros. return removeTrailingZeros({ value, decimals: fixDecimalsX }); } return fix({ value, decimals: fixDecimalsX }, fixDecimals, rounding); }; //# sourceMappingURL=divide.js.map