Contains some util methods for converting numbers into words, ordinal words and ordinal numbers.
npm install number-to-words
Converts an integer into a string with an ordinal postfix. If number has a decimal portion, it will be removed.
var converter = require('number-to-words');
converter.toOrdinal(21); // => “21st”
Converts a number into words.
var converter = require('number-to-words');
converter.toWords(13); // => “thirteen”
// Decimal numbers:
converter.toWords(2.9); // => “two and nine tenths”
// Negative numbers:
converter.toWords(-3); // => “minus three”
// Large numbers:
converter.toWords(9007199254740992); // => “nine quadrillion, seven trillion, one hundred ninety-nine billion, two hundred fifty-four million, seven hundred forty thousand, nine hundred ninety-two”
Converts a number into ordinal words. If number has a decimal portion, it will be discarded.
var converter = require('number-to-words');
converter.toWordsOrdinal(21); // => “twenty-first”
converter.toWordsOrdinal(3.5); // => “third”
Contributions, comments and/or bug reports are much appreciated. Open a pull request or add comments on the issues page. Thanks!
See roadmap for details.
- ADD support for decimal numbers in
toWords
. For backward compatibility,toOrdinal
removes the decimal portion.
- Bug fix in
toOrdinal
. When passed -11, -12 and -13 it returned an incorrect suffix (#15). Thanks to @dmrzn. toOrdinal
andtoWords
now throws a more precise error when passed an unsafe number (#13). Thanks to @adrianomelo.
- Bug fix in
isFinite
for Phantom and IE (#10). Thanks to @jeremiahrhall.
- Bug fix in
toOrdinal
. Input 11, 12, and 13 now yields the correct suffix (#8). Thanks to @pilyugin.
- Bower package
- Bundles are now available for browsers (
./numberToWords.js
and./numberToWords.min.js
). They export a globalnumberToWords
variable. - Made unit tests runnable in browser. To run the unit tests in the browser, start a local server and visit localhost/spec with a browser.
toOrdinal
,toWords
andtoWordsOrdinal
now also allow string values as input (replacedMath.floor
withparseInt
).
- New methods
toOrdinal
andtoWordsOrdinal
- Deprecated
toWords
second optionalasOrdinal
parameter, usetoWordsOrdinal()
-method instead toWords
now converts any decimal input to an integer (withMath.floor
)- Bug fixed returning “zeroth” instead of “zero” when converting a number word into its ordinal
- Minor package tweaks
- Initial release