@ou-imdt/utils
Version:
Utility library for interactive media development
34 lines (26 loc) • 859 B
JavaScript
import numbersToWords from './numbersToWords.js';
/**
* Converts a given integer into its word representation in English.
* @param {number} number - The number to convert.
* @returns {string} The word representation of the number.
*/
export default function convertNumberToWords(number) {
// if number present in object no need to go further
if (number in numbersToWords) return numbersToWords[number];
let words = "";
if (number >= 100) {
words += convertNumberToWords(Math.floor(number / 100)) + " hundred";
number %= 100;
}
if (number > 0) {
if (words !== "") words += " and ";
if (number < 20) words += numbersToWords[number];
else {
words += numbersToWords[Math.floor(number / 10) * 10];
if (number % 10 > 0) {
words += "-" + numbersToWords[number % 10];
}
}
}
return words;
}