@fromscratch-studio-gr/locale-to-number.js
v1.0.2
Published
Convert string representations of numbers, in a certain locale, to decimal literal numbers
Downloads
170
Readme
locale-to-number.js
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.