Табулятор форматирования отрицательных денег с использованием принципов бухгалтерского учета - PullRequest
0 голосов
/ 24 апреля 2020

люблю этот инструмент. Но, используя встроенные средства форматирования, я не могу понять, как форматировать деньги, используя отрицательные символы в круглых скобках вместо отрицательного символа.

, например, (1000), а не -1000

Если мне нужно сделать что-то нестандартное, я тоже могу с этим работать.

1 Ответ

0 голосов
/ 27 апреля 2020
moneyParen: function money(cell, formatterParams, onRendered) {
        var floatVal = parseFloat(cell.getValue()),
            number,
            integer,
            decimal,
            rgx;

        var decimalSym = formatterParams.decimal || ".";
        var thousandSym = formatterParams.thousand || ",";
        var symbol = formatterParams.symbol || "";
        var after = !!formatterParams.symbolAfter;
        var precision = typeof formatterParams.precision !== "undefined" ? formatterParams.precision : 2;

        if (isNaN(floatVal)) {
            return this.emptyToSpace(this.sanitizeHTML(cell.getValue()));
        }

        number = precision !== false ? floatVal.toFixed(precision) : floatVal;
        number = String(number).split(".");

        integer = number[0];
        decimal = number.length > 1 ? decimalSym + number[1] : "";

        var isNeg = (integer.includes("-"));

        if (isNeg === true) { integer = integer.replace("-", ""); }

        rgx = /(\d+)(\d{3})/;

        while (rgx.test(integer)) {
            integer = integer.replace(rgx, "$1" + thousandSym + "$2");
        }



        var retPt1 = after ? integer + decimal + symbol : symbol + integer + decimal;

        return isNeg ? "(" + retPt1 + ")" : retPt1;
    },
...