word-number-word
v1.1.1
Published
A TypeScript/JavaScript utility for converting numbers to words and vice versa — including support for decimals, negatives, and currency converting.
Downloads
59
Maintainers
Readme
Word-Number-Word 🔢 ↔️ 🔠
Convert numbers to words and words back to numbers — now with support for currency. Simple, accurate, and type-safe. Works seamlessly with JavaScript, TypeScript, Node.js, React, Next.js, and even from the CLI.
✨ Features
- 🔁 Bi-directional conversion
42 → "forty-two""seven point five"→7.5
- ✅ Supports integers, negatives, and decimal numbers
- 💰 Currency support (e.g.,
10.25↔️"ten dollars and twenty-five cents") - 🌍 Handles numbers up to trillions
- 💻 Works with Node.js, browser environments, and CLI
- 📦 Built with TypeScript & supports ESM and CommonJS
- 🔧 Lightweight and dependency-free
📦 Installation
npm install word-number-word
# or
yarn add word-number-word🚀 Usage
JavaScript / TypeScript
import {
numberToWord,
wordToNumber,
currencyToWord,
wordToCurrency,
} from "word-number-word";
// Basic usage
console.log(numberToWord(42)); // "forty-two"
console.log(wordToNumber("minus three")); // -3
// Currency support
console.log(currencyToWord(10.25, "usd")); // "ten dollars and twenty-five cents"
console.log(wordToCurrency("ten dollars and five cents", "usd")); // 10.05CLI Usage
npx word-number-word 123
# Output: "one hundred twenty-three"
npx word-number-word "two thousand and five"
# Output: 2005📚 API Reference
| Function | Description | Example |
| --------------------------------------- | ---------------------------------------------------------- | --------------------------------------------------------------- |
| numberToWord(num: number) | Converts a number to its word form | numberToWord(123) → "one hundred twenty-three" |
| wordToNumber(str: string) | Converts a word string into a number | wordToNumber("five") → 5 |
| currencyToWord(num: number, currency) | Converts currency number to words (with major/minor units) | currencyToWord(4.5, "usd") → "four dollars and fifty cents" |
| wordToCurrency(str, currency) | Converts word form currency to number | wordToCurrency("ten dollars and five cents", "usd") → 10.05 |
Note: Currency codes supported
"usd","bdt","eur","gbp". Handles both"forty-two"and"forty two"formats.
🌐 Supported Environments
- ✅ Node.js (v14+)
- ✅ Modern Browsers
- ✅ TypeScript & JavaScript
- ✅ Frameworks: React, Next.js, Express, Vite, etc.
- ✅ CLI (via
npxor install globally)
🧪 Examples
| Input | Output |
| ----------------------------------------------------- | -------------------------------- |
| 123 | "one hundred twenty-three" |
| -99.5 | "minus ninety-nine point five" |
| "fourteen" | 14 |
| "minus two" | -2 |
| "three point one four" | 3.14 |
| currencyToWord(4.5, "usd") | "four dollars and fifty cents" |
| wordToCurrency("ten dollars and five cents", "usd") | 10.05 |
🛠️ CLI Installation (Optional)
Install globally for quick conversions in your terminal:
npm install -g word-number-wordThen use it anywhere:
word-number-word 456
# → "four hundred fifty-six"📄 License
MIT License © Hridoy Saha
🙌 Contributing
Contributions, suggestions, and improvements are welcome!
Feel free to open an issue or submit a pull request.
