喜欢这个工具。但是,使用内置的格式化程序,我无法弄清楚如何在用负号而不是负号代替负数时格式化货币。
所以是(1000),而不是-1000
如果我需要做一些自定义的事情,我也可以使用它。
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;
},