UNPKG

@genexus/web-standard-functions

Version:

GeneXus JavaScript standard functions library for web generators

40 lines 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.divide = void 0; const gxbignumber_1 = require("../types/gxbignumber"); const divide = (num1, num2, decimal) => { let a; let b; let d = 0; if (!decimal) { decimal = gxbignumber_1.BIG_NUMBER_PRECISION + 1; } a = new gxbignumber_1.GxBigNumber(num1); b = new gxbignumber_1.GxBigNumber(num2); let rep; if (a.decimals === 0) { if (b.intNumberAll.toString().length > gxbignumber_1.BIG_NUMBER_PRECISION) { rep = b.intNumberAll.toString().length * 2 + 1; d = rep - b.decimals; } else { rep = gxbignumber_1.BIG_NUMBER_PRECISION * 2 + 1; d = rep - b.decimals; } } else { if (b.intNumberAll.toString().length > gxbignumber_1.BIG_NUMBER_PRECISION) { rep = b.intNumberAll.toString().length * 2 + 1; d = rep + a.decimals - b.decimals; } else { rep = gxbignumber_1.BIG_NUMBER_PRECISION * 2 + 1; d = rep + a.decimals - b.decimals; } } let d1 = a.intNumberAll * BigInt("1" + "0".repeat(rep)); let d2 = b.intNumberAll; return gxbignumber_1.GxBigNumber.normalizePrecision(gxbignumber_1.GxBigNumber.fromBigInt(d1 / d2, d)); }; exports.divide = divide; //# sourceMappingURL=divide.js.map