UNPKG

@ou-imdt/utils

Version:

Utility library for interactive media development

34 lines (26 loc) 859 B
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; }