npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

any-number-to-words

v2.0.5

Published

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

Downloads

412

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.