angular-currency-format

WebJar for angular-currency-format

License

License

MIT
Categories

Categories

Github Development Tools Version Controls Angular User Interface Web Frameworks ORM Data
GroupId

GroupId

org.webjars.bower
ArtifactId

ArtifactId

github-com-xsolla-angular-currency-format
Last Version

Last Version

v1.0.6
Release Date

Release Date

Type

Type

jar
Description

Description

angular-currency-format
WebJar for angular-currency-format
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/xsolla/angular-currency-format

Download github-com-xsolla-angular-currency-format

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.bower/github-com-xsolla-angular-currency-format/ -->
<dependency>
    <groupId>org.webjars.bower</groupId>
    <artifactId>github-com-xsolla-angular-currency-format</artifactId>
    <version>v1.0.6</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.bower/github-com-xsolla-angular-currency-format/
implementation 'org.webjars.bower:github-com-xsolla-angular-currency-format:v1.0.6'
// https://jarcasting.com/artifacts/org.webjars.bower/github-com-xsolla-angular-currency-format/
implementation ("org.webjars.bower:github-com-xsolla-angular-currency-format:v1.0.6")
'org.webjars.bower:github-com-xsolla-angular-currency-format:jar:v1.0.6'
<dependency org="org.webjars.bower" name="github-com-xsolla-angular-currency-format" rev="v1.0.6">
  <artifact name="github-com-xsolla-angular-currency-format" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.bower', module='github-com-xsolla-angular-currency-format', version='v1.0.6')
)
libraryDependencies += "org.webjars.bower" % "github-com-xsolla-angular-currency-format" % "v1.0.6"
[org.webjars.bower/github-com-xsolla-angular-currency-format "v1.0.6"]

Dependencies

compile (1)

Group / Artifact Type Version
org.webjars.bower : angular jar [1.4.3,2)

Project Modules

There are no modules declared in this project.

Angular Currency Format

npm version bower version

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.

// Declare the factory as dependency
angular.module('myApp')
  .controller('MyCtrl', function (currencyFormatService) {
    // Get the information about the currencies
    console.log(currencyFormatService.getCurrencies());
    // outputs:
    // {
    //    'AMD': {
    //          'name': 'Armenian Dram',
    //          'fractionSize': 2,
    //          'symbol': {
    //              'grapheme': 'դր.',
    //              'template': '1 $',
    //              'rtl': false
    //          },
    //          'uniqSymbol': {
    //              'grapheme': 'դր.',
    //              'template': '1 $',
    //              'rtl': false
    //          }
    //    },
    //    ...
    // }

    // Get the information about currency by ISO 4217 currency code
    console.log(currencyFormatService.getByCode('EUR'));
    // outputs:
    // {
    //    'name': 'Euro',
    //    'fractionSize': 2,
    //    'symbol': {
    //        'grapheme': '€',
    //        'template': '$1',
    //        'rtl': false
    //    },
    //    'uniqSymbol': {
    //        'grapheme': '€',
    //        'template': '$1',
    //        'rtl': false
    //    }
    // }
    
    // Get the information about the delimiters
    console.log(currencyFormatService.getLanguages());
    // outputs:
    // {
    //    'ar_AE': {
    //        'decimal': '.',
    //        'thousands': ','
    //    },
    //    ...
    // }

    // Get the information about the delimiters by locale ID
    console.log(currencyFormatService.getLanguageByCode('en_US'));
    // outputs:
    // {
    // {
    //    'en_US': {
    //        'decimal': '.',
    //        'thousands': ','
    //    }
    // }
  });

Information about currencies is an object which has the structure:

{
  'AMD': {                          // ISO 4217 currency code.
     'name': 'Armenian Dram',       // Currency name.
     'fractionSize': 2,             // Fraction size, a number of decimal places.
     'symbol': {                    // Currency symbol information.
         'grapheme': 'դր.',         // Currency symbol.
         'template': '1 $',         // Template showing where the currency symbol should be located
                                    // (before or after amount).
         'rtl': false               // Writing direction.
     },
     'uniqSymbol': {                // Alternative currency symbol information. We recommend to use it
                                    // when you want to exclude a repetition of symbols in different
                                    // currencies.
         'grapheme': 'դր.',         // Alternative currency symbol.
         'template': '1 $',         // Template showing where the alternative currency symbol should be
                                    // located (before or after amount).
         'rtl': false               // Writing direction.
     }
  },
  ...
}

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": {                      // Locale ID
        "decimal": ".",             // Decimal delimiter
        "thousands": ","            // Thousands delimiter
    },
    ...
}

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:

// in controller
$scope.amount = -1234.56;
$scope.isoCode = 'USD';
$rootScope.currencyLanguage = 'en_US'; // Can be set through the parameter of the filter. Default 'en_US'.    

// in template
{{ amount | currencyFormat:isoCode }} // -$1,234.56
{{ amount | currencyFormat:isoCode:0 }} // -$1,235
{{ amount | currencyFormat:'RUR':null:true:'ru_RU' }} // -1 234,56 ₽

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

org.webjars.bower

Xsolla

Xsolla is the gaming industry hub built by players to bring out gaming's best.

Versions

Version
v1.0.6