Package detail

any-number-to-words

ashutoshbw314184MIT2.0.5

A string based number to word converter that can convert pretty large numbers to words in several locales. String is it's limit.

number to words, converter, tool, convert numbers

readme

Any number to words

A string based number to words converter. It can convert from very small to large decimal numbers(just for fun 🌈).

See Live Demo

Installation

npm i any-number-to-words

API

Initialization

ES6 module format:

import {Converter} from "any-number-to-words";
const converter = new Converter();

CommonJS module format:

const {Converter} = require("any-number-to-words");
const converter = new Converter();

The default locale is enUS(English). To convert in to other locales(eg. bnBD) you also need to import or require the locales:

// bnBD is for Bengali
import {Converter, bnBD} from "any-number-to-words";
const converter = new Converter(bnBD);

Or

const {Converter, bnBD} = require("any-number-to-words");
const converter = new Converter(bnBD);

Meat of the matter

Syntax:

converter.toWords(number|string, [options]);
  • 1st parameter(number|string): It can be a JavaScript number or a string. If it is a string it should follow the same syntax as JavaScript decimal number.
  • 2nd parameter([options|locale], optional): It is used to provide optional settings like comma separator: {comma: true}. However it can be used to override the whole locale. Or it can given some locale too to use that local temporarily.

Examples:

// --- assuming the locale is enUS ---

converter.toWords(1729);                // → one thousand seven hundred twenty-nine 

// turn on commas
converter.toWords(1729, {comma: true}); // → one thousand, seven hundred twenty-nine

// string as input
converter.toWords('1729');              // → one thousand, seven hundred twenty-nine

// You can also use exponent notation
converter.toWords('1729e100');          // → seventeen tretrigintillion twenty-nine googol

That's basically it. Have fun!

Currently supported locales

  • enUS for English.
  • bnBD for Bengali.
  • hiIN for Hindi.

Contributions, Comments and Bugs

Contributions, comments and/or bug reports are very much appreciated. Open a pull request or add comments on the issues page. Thanks!

License

MIT

Acknowledgements

Change Log

Version 2.0.5

  • Added babel.config.json file which I forgot to add.

Version 2.0.4

  • Fixed the bug of not translating minus sign for non en-us locales.

Version 2.0.3

  • Updated documentation.

Version 2.0.2

  • Fixed the bug of not translating decimal point for non en-us locales.

Version 2.0.1

  • Added documentation.
  • Fixed the bug of not translating fractional part for non en-us locales.

Version 2.0.0

  • Made the package hybrid to support both ES6 modules syntax and CommonJS syntax.
  • Made changes to API. Set Converter as named export.
  • Added locales: bnBD and hiIN.

Version 1.0.0

  • Initial release.