ngx-localized-numbers
TypeScript icon, indicating that this package has built-in type declarations

2.0.1 • Public • Published

ngx-localized-numbers

library to localize numbers and currency with angular

Compatible versions with angular

  • >= 2.0.0: angular 12/13
  • >= 1.0.0 & < 2.0.0: angular 11
  • >= 0.4.0 & < 1.0.0: angular 10
  • 0.3.1: angular 7-9

Supported Locales

The following locales are currently supported by ngx-localized-numbers:

  • cs_CZ
  • da_DK
  • de_AT
  • de_CH
  • de_DE
  • de_LU
  • el_GR
  • en_AU
  • en_CA
  • en_GB
  • en_HK
  • en_IE
  • en_IN
  • en_MY
  • en_NZ
  • en_TH
  • en_US
  • en_ZA
  • es_AR
  • es_CO
  • es_ES
  • fi_FI
  • fr_BE
  • fr_CA
  • fr_CH
  • fr_FR
  • fr_LU
  • ga_IE
  • hu_HU
  • is_IS
  • it_CH
  • it_IT
  • ja_JP
  • ko_KR
  • nl_BE
  • nl_NL
  • no_NO
  • pl_PL
  • pt_BR
  • pt_PT
  • ro_RO
  • ru_RU
  • sk_SK
  • sv_SE
  • th_TH
  • tr_TR
  • zh_CN
  • zh_HK
  • zh_TW

Installation

First you need to install the npm module:

npm install ngx-localized-numbers --save

Usage

Import into application

First you need to import the module as forRoot() into your parent module:

import { NgxLocalizedNumbers } from 'ngx-localized-numbers';
@NgModule({
  imports: [
    // ...
    NgxLocalizedNumbers.forRoot()
  ]
  // ...
})
export class AppModule {}

If using submodules you may need to include the module there as well:

import { NgxLocalizedNumbers } from 'ngx-localized-numbers';
@NgModule({
  imports: [
    // ...
    NgxLocalizedNumbers
  ]
  // ...
})
export class AnyOtherModule {}

Shared module

If you are using a SharedModule which is imported into different other application modules, you may export it from here so you do not need to import it in every child module.

Set the locale

The locale can be set as follows (and anywhere else as well):

@Component({
  // ...
})
export class AppComponent implements OnInit {
  constructor(private localizedNumbersService: NgxLocalizedNumbersService) {}

  ngOnInit() {
    this.localizedNumbersService.setLocale('de_DE');
  }
}

That's it, now you can use the localization.

Format numbers and amounts

There are two pipes included in this modules you may use (also chained usage is possible). These samples use the de_DE as locale:

formatNumber - Pipe

This pipe formats numbers with thousand separator and decimal separator from the locale. As a parameter, the amount of decimals can be provided:

<p>{{1000 | formatNumber:3 | formatCurrency}}</p> - prints 1.000,000 €

<p>{{1000 | formatNumber:2}}</p> - prints 1.000,00

<p>{{1000.47 | formatNumber:2}}</p>

<p>{{1000.47 | formatNumber:1}}</p>

<p>{{1000.9 | formatNumber}}</p>

<p>{{1000.1 | formatNumber:5}}</p>

formatCurrency - Pipe

This pipe will add the locales' currency to the number.

<p>{{1000 | formatCurrency}}</p> - prints 1000 €

or combine both pipes:

<p>{{1000 | formatNumber:2 | formatCurrency}}</p> - prints 1.000,00 €

Define additional locales

You also may add or overwrite locales to the service:

this.localizedNumbersService.addLocale('en_US', {
  thousandSeparator: ',',
  decimalSeparator: '.',
  whitespaceBeforeCurrency: true,
  currency: '$'
});

feel free to add missing locales via a PR, thanks! (see src/locales.config.ts)

Package Sidebar

Install

npm i ngx-localized-numbers

Weekly Downloads

54

Version

2.0.1

License

MIT

Unpacked Size

138 kB

Total Files

27

Last publish

Collaborators

  • mbenzenhoefer