Skip to content

fromScratchStudioGr/locale-to-number.js

Repository files navigation

logo

locale-to-number.js

npm (scoped) GitHub license

Convert string representations of numbers, in a certain locale, to decimal literal numbers.

Introduction

locale-to-number.js is a library that aids developers to convert string representations of numbers, in a certain locale, to decimal literal numbers. The exact opposite operation is available either by the Intl.NumberFormat() constructor or the Number.toLocaleString() function. However, converting them back to decimal is not trivial. That's where locale-to-number.js comes into play.

For more details, check the Wiki page.

Installation / Examples

The library is pretty straight forward, since it is the inverse of the Number.toLocaleString() utility.

To install run:

npm install --save @fromscratch-studio-gr/locale-to-number.js

You have to provide the string representation of the number alongside the locale into the getNumber() function. The supported locales can be found here.

const getNumber = require('@fromscratch-studio-gr/locale-to-number.js');

// English Locale.
console.log(getNumber('0.0', 'en'));
// Prints: 0

console.log(getNumber('0.45', 'en'));
// Prints: 0.45

console.log(getNumber('0.243225', 'en'));
// Prints: 0.243225

console.log(getNumber('2,050', 'en'));
// Prints: 2050

console.log(getNumber('+12,054,100.55', 'en'));
// Prints: 12054100.55

console.log(getNumber('-12054100.55', 'en'));
// Prints: -12054100.55

// Greek Locale.
console.log(getNumber('+2.342,0', 'el'));
// Prints: 2342

console.log(getNumber('+2.000.000', 'el'));
// Prints: 2000000

console.log(getNumber('-12.054.100,55', 'el'));
// Prints: -12054100.55

You can, also, include the corresponding country code.

// Indian English Locale.
console.log(getNumber('2,342.0', 'en-IN'));
// Prints: 2342

console.log(getNumber('2,00,000', 'en-IN'));
// Prints: 200000

console.log(getNumber('+1,20,54,100.55', 'en-IN'));
// Prints: 12054100.55

Keep in mind, we currently support up to 19 fraction digits when decimals numbers are used.

Testing Coverage

Testing Coverage

Contributing

Thinking of contributing to the project? Read the instructions here.

License

locale-to-number.js is available under the MIT license.

About

Converts string representations of numbers, in a certain locale, to decimal literal numbers.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •