UNPKG

@genexus/web-standard-functions

Version:

GeneXus JavaScript standard functions library for web generators

65 lines 2.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.strBigNumber = void 0; const add_1 = require("../math/add"); const padLeft_1 = require("../text/padLeft"); const gxbignumber_1 = require("../types/gxbignumber"); const round_1 = require("./round"); /** * Converts the given number to string * @param {GxBigNumber} value * @param {GxBigNumber} length * @param {GxBigNumber} decimals * @returns string */ const strBigNumber = (value, length = new gxbignumber_1.GxBigNumber(10), decimals = new gxbignumber_1.GxBigNumber(0)) => { let strNum = value.toString(); let decimalsAux = Number(decimals.toString()); let lengthAux = Number(length.toString()); let int = strNum.split(".").concat("")[0]; let decimal = strNum .split(".") .concat("")[1] .slice(0, (0, add_1.add)(decimals, new gxbignumber_1.GxBigNumber(1))); let result; if (decimal !== "") { if (int.indexOf("-") !== -1) { result = "-" + (0, round_1.roundBigNumber)(new gxbignumber_1.GxBigNumber(int.replace("-", "") + "." + decimal), decimals).toString(); } else { result = (0, round_1.roundBigNumber)(new gxbignumber_1.GxBigNumber(int + "." + decimal), decimals).toString(); } } else { result = int; } let res; if (result.length > lengthAux) { if (decimalsAux === 0) { res = (0, padLeft_1.padLeft)("", lengthAux, "*"); } else { res = (0, exports.strBigNumber)(value, length, new gxbignumber_1.GxBigNumber(0)); } } else { if (decimalsAux !== 0) { int = result.split(".").concat("")[0]; decimal = result.split(".").concat("")[1]; if (decimal !== "") { res = (0, padLeft_1.padLeft)(int + "." + decimal.padEnd(decimalsAux, "0"), lengthAux, " "); } else { res = (0, padLeft_1.padLeft)(result, lengthAux, " "); } } else { res = (0, padLeft_1.padLeft)(result, lengthAux, " "); } } return res; }; exports.strBigNumber = strBigNumber; //# sourceMappingURL=str.js.map