Extend angular's built in currency filter.
Formats a number as a currency (ie $1,234.56 or 914.3534€). When no currency symbol is provided, default symbol for current locale is used.
Overwrites angular's default currency filter if module: currencyFilter is injected. (complete example in the Example section)
{{ currency_expression | currency[:symbol[:fractionSize[:suffixSymbol]]] }}
$filter('currency')(amount[, symbol[, fractionSize[, suffixSymbol]]])
| Param | Type | Details |
|---|---|---|
| amount | number | input to filter |
| symbol (optional) | string | Currency symbol or identifier to be displayed. |
| fractionSize (optional) | number | Number of decimal places to round the number to. If this is not provided then the fraction size is computed from the current locale's number formatting pattern. In the case of the default locale, it will be 3. |
| suffixSymbol (optional) | boolean | If set to true the currency symbol will be placed after the amount. |
String: Formatted number.
// With all parameters
expect(currency(1234.4239, '€', 0, true)).toEqual('1,234€');
// With missing fraction size
expect(currency(1234.4239, '€', true)).toEqual('1,234.42€');
// With fraction size only
expect(currency(1234.4239, '$', 3)).toEqual('$1,234.424');
// Only with symbol
expect(currency(1234.4239, '$')).toEqual('$1,234.42');
<span ng-bind="price | currency:'€':true"></span>
angular.module('app', ['currencyFilter']).
controller('Ctrl', function ( $scope, $filter ) {
var currency = $filter('currency');
$scope.price = currency(1234.4239, '€', 0, true);
});
bower install --save angular-currency-filter
Include src/currency-filter.js or dist/currency-filter.min.js to your project.
<script src="/bower_components/angular-currency-filter/dist/currency-filter.min.js"></script>
Don't forget to add currencyFilter module to app's dependecies.
$ npm install
$ bower install
$ grunt test
$ grunt build