пользовательский формат в numeral.js отрицательное число (-20) должно быть 20(-)

Я использую библиотеку numeral.js

Меня интересует "Сделать нестандартный формат", чтобы везде, где есть отрицательное число (например, - 20), библиотека показывала его мне, поэтому 20 (-)

Мне нужно, чтобы знак минус был в скобках

Как я могу это сделать?

1 ответ

Решение

Вы могли бы сделать что-то подобное

numeral.register('format', 'negative', {
    regexps: {
        format: /(-)/,
        unformat: /(-)/
    },
    format: function(value, format, roundingFunction) {
        return value < 0 ? -value + " (-)" : value;
    },
    unformat: function(s) {
        return s.endsWith(" (-)") ? -parseInt(s.substr(0, s.length - 4)) : parseInt(s);
    }
});

// use your custom format
const result = numeral(-5).format('(-)');
const unresult = numeral(result).format();
console.log(result)
console.log(unresult)
<script src="//cdnjs.cloudflare.com/ajax/libs/numeral.js/2.0.6/numeral.min.js"></script>

Другие вопросы по тегам