Angularjs:括号中显示负数?

时间:2014-06-10 21:42:23

标签: javascript angularjs

有没有办法: 1)过滤货币数字,但没有任何迹象表明该数字是哪种货币(包括一个美元符号;没有任何符号)? 2)通过在括号中显示负数来过滤常规数字?

E.g。 -12.345过滤后看起来像:(12.345)

谢谢。

2 个答案:

答案 0 :(得分:4)

货币过滤器采用符号参数。将其设置为'',它不会显示符号。当负面时它会显示括号......

{{ value | currency : '' }}
但是,它会将数字四舍五入到小数点后2位。您可以轻松创建自定义过滤器...

app.filter('numeric', function() {
    return function (value) {
        if (value < 0) {
            value = '(' + Math.abs(value) + ')';
        }
        return value;
    };
});

JSFiddle

答案 1 :(得分:0)

您可以使用此过滤器显示带括号而非减号的数字:

angular.module('yourModule', [])
    .filter('negativeParenthesis', function() {
        return function(input) {
            if (input < 0) {
                return "("+Math.abs(input)+")";
            } else {
                return input + "";
            }
        }
    });

你当然会这样使用它:

<p>{{myNumberValue|negativeParenthesis}}</p>