我正在以编程方式应用AngularJS过滤器:
filtered = $filter('number')(value, 2);
这会给我类似5,000.00
的内容。我需要一种方法来获取过滤后的值并去除格式,以便我可以从5000
获取5,000.00
。我可以使用javascript做到这一点,但认为可能有一种方法可以使用我不熟悉的Angular来做到这一点。
思想?
答案 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个逗号。