我正在学习angularjs的过程,所以这个问题进入了我的脑海。
{{val | number:2}}
这导致数字值为小数部分为2,如30.12
但是在$ scope中尝试同样的事情,我无法做到这一点。
$scope.example = $filter('bhojendra')('uppercase');//BHOJENDRA
$scope.val = $filter(30.12343)('number:2');//don't work
$scope.foo = $filter(30.12334)('currency');//$30.12334
$scope.foo = $filter(30.12334)('currency:"EUR"');//don't work
答案 0 :(得分:2)
你需要这样做:
$scope.val = $filter('number')(30.12343, '2');
数字过滤器的
$ filter('number')(number,fractionSize)
number - 要格式化的数字。 fractionSize(可选) - 将数字四舍五入的小数位数。如果没有提供 那么 分数大小是根据当前区域设置的数字格式模式计算的。 对于默认语言环境,它将为3。
$scope.foo = $filter('currency')(30.12334);
$scope.foo = $filter('currency')(30.12334 ,'EUR');
angularjs doc过滤器的currency表示,
$filter('currency')(amount, symbol, fractionSize)
金额 - 输入过滤器。 symbol(可选) - 要显示的货币符号或标识符。 fractionSize(可选) - 将金额四舍五入的小数位数,默认为默认最大值 当前区域设置的分数大小
答案 1 :(得分:0)
您可以使用:
var numberFilter = $filter('number');
$scope.foo = numberFilter('30.12334',2);
答案 2 :(得分:0)
使用:
$ filter('filter')(数组,表达式,比较器)
示例:
var app = angular.module('app',[]);
app.controller('ctrl', function ($scope, $filter) {
$scope.example = $filter('uppercase')('asdasdasdasda');
$scope.val = $filter('number')(30.12343, 2); // 2 = precision
$scope.foo = $filter('currency')(30.12334);
$scope.bar = $filter('currency')(30.12334,"EUR ");
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
{{example}}
<br/>
{{val}}
<br/>
{{foo}}
<br/>
{{bar}}
<br/>
</div>
答案 3 :(得分:0)
我想我已经迟到了,但这是一个片段:
var app = angular.module('myApp', []);
app.controller('MainCtrl', function($scope, $filter) {
$scope.foo = $filter('number')(30.12334, 2);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="MainCtrl">
{{foo}}
</div>
</div>
&#13;