1.0.2 • Published 2 years ago

@fromscratch-studio-gr/locale-to-number.js v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

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

Contributing

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

License

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