@genexus/web-standard-functions
Version:
GeneXus JavaScript standard functions library for web generators
40 lines • 1.38 kB
JavaScript
;
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