Convert Number to Words

Thanks everyone. The switch() formula will be useful in other scenarios, but I think will be a bit too cumbersome here. Thanks @Joyce and @Alexis.

I tried using co-pilot but it rarely works anymore (see this thread, bug logged).

I tried using ChatGPT, but I can’t figure out how to properly reference the variable value that I want to convert from a number to text. ChatGPT gave me the below, but as it is WeWeb is returning ‘undefined’. What do I need ot change for this to run in WeWeb? Thanks.

const numberToWords = (num) => {
    const ones = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
    const teens = ['eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen'];
    const tens = ['ten', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'];
    
    if (num === 0) {
        return 'zero';
    }
    
    if (num < 10) {
        return ones[num - 1];
    }
    
    if (num >= 11 && num <= 19) {
        return teens[num - 11];
    }
    
    if (num % 10 === 0 && num < 100) {
        return tens[Math.floor(num / 10) - 1];
    }
    
    if (num >= 20 && num < 100) {
        return `${tens[Math.floor(num / 10) - 1]} ${ones[num % 10 - 1]}`;
    }
    
    return 'Number out of range';
};

const inputNumber = 23; // Replace with your desired number
console.log(`${inputNumber} in words is: ${numberToWords(inputNumber)}`);