angularjs - 删除货币过滤器括号

时间:2015-07-21 07:04:52

标签: javascript regex angularjs

我在ui-grid中的自定义过滤器中使用货币过滤器来格式化单元格数据。请在下面找到我的代码。

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

此处货币过滤器为负值添加括号。我想使用没有括号的货币过滤器来表示负值。

如何从货币过滤器中删除括号?

1 个答案:

答案 0 :(得分:4)

我建议你编写一个customCurrency过滤器。它负责消极的价值观。如下所示:

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);
    };
}]);

因此,只要金额小于零,您就可以用负号替换括号。

希望这会有所帮助:)