In Javascript, how can I convert any whole positive number to its spoken format. So 11 to eleven, 102 to one hundred two, 2104 to two thousand one hundred four
So far, I have the numbers 0-19 mapped to their string formats, and can get numbers up to 99:
if (number === 0) return 'Zero';
while (number > 0) {
if (numMap[number]) digits.push(numMap[number]);
else {
digit = number % 10;
if (numMap[digit]) digits.push(numMap[digit]);
number = number - digit;
if (numMap[number]) digits.push(numMap[number]);
break;
}
number = number/10;
}
numberInWords = digits.reverse().join(' ');
console.log(numberInWords);
return numberInWords;
Not super clean or optimal, but I'm just trying to get something down before I clean it up. Any ideas?