Agility digit to words
by Krishna Ananthi
JavaScript
function getWordsfromNumber(number) {
let ones = [
'',
'one',
'two',
'three',
'four',
'five',
'six',
'seven',
'eight',
'nine',
];
let teens = [
'ten',
'eleven',
'twelve',
'thirteen',
'fourteen',
'fifteen',
'sixteen',
'seventeen',
'eighteen',
'nineteen',
];
let tens = [
'',
'',
'twenty',
'thirty',
'forty',
'fifty',
'sixty',
'seventy',
'eighty',
'ninety',
];
let words = '';
let digitName = [
'hundred',
'thousand',
'ten thousand',
'hundred thousand',
'million',
];
let noOfDigit = number.toString().length;
if (noOfDigit > 2) {
for (let i = noOfDigit; i > 2; i--) {
if (number >= Math.pow(10, i - 1) && number < Math.pow(10, i)) {
words +=
ones[Math.floor(number / Math.pow(10, i - 1))] +
' ' +
digitName[i - 3] +
' ';
number = number % Math.pow(10, i - 1);
}
}
}
if (words.length > 0 && number > 0) words += 'and '; //adding and for no greater than 3 digit
/* if (number >= 100 && number < 1000) {
words += ones[Math.floor(number / 100)] + ' ' + digitName[0];
number = number % 100;
}*/
if (number >= 20 && number < 100) {
words += tens[Math.floor(number / 10)] + ' ' + ones[number % 10];
}
if (number >= 10 && number < 20) words += teens[number % 10];
if (number < 10) words += ones[number];
return words.trim();
}
console.log(getWordsfromNumber(300))
console.log(getWordsfromNumber(3))
console.log(getWordsfromNumber(999))
console.log(getWordsfromNumber(455))
console.log(getWordsfromNumber(999999))
console.log(getWordsfromNumber(1234567))