Skip to content

Converts Numbers (including decimal points) into words. It also converts the numbers into words for currency.

License

Notifications You must be signed in to change notification settings

florianchappaz/to-words

 
 

Repository files navigation

Number to Words

Introduction

Converts Numbers (including decimal points) into words. It also converts the numbers into words for currency.

Installation

npm install to-words --save

Usage

Importing

const { ToWords } = require('to-words');

OR

import { ToWords } from 'to-words';

Config Options

const toWords = new ToWords({
  localeCode: 'en-IN',
  converterOptions: {
    currency: true,
    ignoreDecimal: false,
    ignoreZeroCurrency: false,
  }
});

Options can be set at instance level, or along with individual call to convert method.

const toWords = new ToWords();

let words = toWords.convert(123);
// words = One Hundred Twenty Three

words = toWords.convert(123.45);
// words = One Hundred Twenty Three Point Fourty Five

words = toWords.convert(123.045);
// words = One Hundred Twenty Three Point Zero Four Five

Note: When fractional part starts with zero, the digits after decimal points are converted into respective numbers individually

To convert to currency

const toWords = new ToWords();

let words = toWords.convert(452, { currency: true });
// words = Four Hundred Fifty Two Rupees Only

words = toWords.convert(452.36, { currency: true });
// words = Four Hundred Fifty Two Rupees And Thirty Six Paise Only

To discard fractional unit

const toWords = new ToWords();

let words = toWords.convert(452.36, { currency: true, ignoreDecimal: true });
// words = Four Hundred Fifty Two Rupees Only

To ignore major currency number when it's zero

const toWords = new ToWords();

let words = toWords.convert(0.572, { currency: true, ignoreZeroCurrency: true });
// words = Five Hundred Seventy Two Paise Only

Options

Option Type Default Description
localeCode string 'en-IN' Locale code for selecting i18n.
currency boolean false Whether the number to be converted into words written as currency.
Note: When currency:true, number will be rounded off to two decimals before converting to words
ignoreDecimal boolean false Whether to ignore fractional unit of number while converting into words.
ignoreZeroCurrency boolean false Whether to ignore zero currency value while converting into words.

Supported Locale

Country Language Locale
India English en-IN (default)
Myanmar English en-MM
Mauritius English en-MU
USA English en-US
Iran Persian fa-IR

Inspiration for core logic

https://stackoverflow.com/a/46221860

About

Converts Numbers (including decimal points) into words. It also converts the numbers into words for currency.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 97.7%
  • JavaScript 2.1%
  • Shell 0.2%