AngularJs显示负数或正数

时间:2013-11-14 01:48:58

标签: angularjs

我需要显示正数或负数。问题是我从api获取数据,其中我有一个delta -X表示正数,X表示负数。

所以要显示我的数据,我需要每-1乘以。

我有这段代码:

{{myData * -1}}

但是我需要一种方法来为我的数据添加一个+符号,以防它是正数。如果我有(-120 * -1)我应该得到+120。

我怎样才能为我的号码添加加号?

4 个答案:

答案 0 :(得分:14)

在输出中添加“+”符号可以这么简单:

{{number > 0 ? '+' : ''}}{{number}}

如果您需要在整个地方进行,我可能会写一个指令来附加符号。

注意: 三元运算符仅适用于Angular 1.2 +

http://jsfiddle.net/jwcarroll/NNgw6/

答案 1 :(得分:8)

AngularJS的方法是通过custom filter。过滤器用于格式化和显示数据。此外,它们可以在多个地方轻松重复使用。有一个similar post,其中包含一个自定义过滤器如何用于解决格式问题的示例。

答案 2 :(得分:3)

如果我在此了解您的需要,您应该能够使用函数来获取数据而不是直接访问整数。

app.controller('myCtrl', function($scope) {
  var foo = 1;
  $scope.getData = function() {
    if (foo > 0) {
       foo = '+'+parseInt(foo);
    }
    return foo;
  }
});

<p>{{getData()}}</p> <!-- displays "+1" -->

Live demo here. (click)

答案 3 :(得分:1)

您也可以使用“过滤”方式:

app.filter('plusOrMinus', function(){
    return function(input){
        input = input ? input : 0
        return input > 0 ? "+"+input : input
    }
})

然后在你的观点上:

<p>{{number | plusOrMinus}}</p>