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