Angular Currency Format
This project is module for AngularJS. It provides:
- A service (factory) that retrieves currency information (name, symbol, fraction and formating) according to ISO 4217 currency codes
- A filter to print formatted currency (-100 USD -> -$100.00)
Installation
This library is available with the bower package manager, you can either:
-
Execute the following command: bower install angular-currency-format
-
Add 'currencyFormat'
to your angular.module dependency, usually in app.js
angular.module('myApp', ['currencyFormat']);
Demo
https://livedemo.xsolla.com/angular-currency-format/
Usage
Factory
In the factory there are two methods that return information about the currencies.
angular.module('myApp')
.controller('MyCtrl', function (currencyFormatService) {
console.log(currencyFormatService.getCurrencies());
console.log(currencyFormatService.getByCode('EUR'));
console.log(currencyFormatService.getLanguages());
console.log(currencyFormatService.getLanguageByCode('en_US'));
});
Information about currencies is an object which has the structure:
{
'AMD': {
'name': 'Armenian Dram',
'fractionSize': 2,
'symbol': {
'grapheme': 'դր.',
'template': '1 $',
'rtl': false
},
'uniqSymbol': {
'grapheme': 'դր.',
'template': '1 $',
'rtl': false
}
},
...
}
Symbol/uniqSymbol field is null
, when the currency has no symbol/alternative symbol.
Information about languages is an object which has the structure:
{
"en_US": {
"decimal": ".",
"thousands": ","
},
...
}
Filter
Instead of directly using the currency symbol, you only need the 3 char long currency code (e.g. USD or JPY).
It will take the right symbol, format and fraction size. The fraction can be set up by providing a number of decimal places after the currency field:
$scope.amount = -1234.56;
$scope.isoCode = 'USD';
$rootScope.currencyLanguage = 'en_US';
{{ amount | currencyFormat:isoCode }}
{{ amount | currencyFormat:isoCode:0 }}
{{ amount | currencyFormat:'RUR':null:true:'ru_RU' }}
If there is no currency symbol, then the filter will return the value in the following format: formated amount + ISO code. For example -1,234.56 USD
.
Currency reference
The component uses the JSON with currencies and languages information from https://github.com/xsolla/currency-format.
The list of currency codes was taken from https://en.wikipedia.org/wiki/ISO_4217.
License
The MIT License.
See LICENSE