恢复AngularJS中的过滤器

时间:2016-09-14 13:39:07

标签: javascript angularjs angularjs-filter

我正在以编程方式应用AngularJS过滤器:

filtered = $filter('number')(value, 2);

这会给我类似5,000.00的内容。我需要一种方法来获取过滤后的值并去除格式,以便我可以从5000获取5,000.00。我可以使用javascript做到这一点,但认为可能有一种方法可以使用我不熟悉的Angular来做到这一点。

思想?

3 个答案:

答案 0 :(得分:1)

如何创建自己的自定义过滤器?

a

app.filter('round', function() {
  return function(input, count) {
    var output;

    //Your code here
    output = Math.floor(input, count); //something like that
    return output;

  }
});

或在html中:

filtered = $filter('round')(value, 2);

这是jsFiddle

答案 1 :(得分:1)

你可以在vanilla js或jQuery中做任何事情,你可以在AngularJS中做,大多数时候。 所以是的,你可以在AngularJS中将float / double转换成int,就像这样

控制器中的

$scope.floatNum1 = 12.00
$scope.floatNum2 = 10.89

在视图中:

{{floatNum1 | number:0}}  // it will render 12
{{floatNum2 | number:0}}  //it will render 11

希望这就是你要找的东西

答案 2 :(得分:0)

只需解析为没有逗号的浮点数:

var filtered = '5,000,000.00';
var source = parseFloat(filtered.replace(/,/g, ''));

我使用了Joaozito Polo的答案,但在RegExp中添加了g修饰符,因为如果没有它,它将只替换1个逗号。