angularjs - убрать скобку фильтра валют

0

Я использую фильтр валют внутри настраиваемого фильтра в ui-grid для форматирования данных ячейки. Ниже вы найдете мой код.

HelperServices.filter('getQuantFormat', function($filter) {
    return function(val) {
        if (val == 0)
            return;
        else
            return ($filter('currency')(val, "", 2));
    }
});

Здесь валютный фильтр добавляет скобки для отрицательных значений. Я хочу использовать валютный фильтр без скобок для отрицательных значений.

Как удалить скобки из фильтра валют?

  • 1
    Возможно, с помощью .replace(/[()]/g,'') ?

1 ответ

4
Лучший ответ

Я бы посоветовал вам написать собственный фильтр календаря. Который заботится об отрицательных значениях. Что-то вроде ниже:

var app = angular.module('myApp');

app.filter('customCurrency', ["$filter", function ($filter) {       
    return function(amount, currencySymbol){
        var currency = $filter('currency');         

        if(amount < 0){
            return currency(amount, currencySymbol).replace("(", "-").replace(")", ""); 
        }

        return currency(amount, currencySymbol);
    };
}]);

Поэтому всякий раз, когда вы суммируете меньше нуля, вы можете заменить скобку отрицательным знаком.

Надеюсь это поможет :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню