4 local function spellnumber(n)
7 "zero", "one", "two", "three", "four", "five",
8 "six", "seven", "eight", "nine", "ten",
9 "eleven", "twelve", "thirteen", "fourteen", "fifteen",
10 "sixteen", "seventeen", "eighteen", "nineteen"
12 local thousandpowers = [
13 " billion", " million", " thousand", ""
16 "", "", "twenty", "thirty", "forty",
17 "fifty", "sixty", "seventy", "eighty", "ninety"
20 local pScaleName = thousandpowers;
21 local scaleFactor = 1000000000; // 1 billion
23 local function spellhundreds(n)
28 res = smallnumbers[n/100];
47 res += smallnumbers[n];
53 return smallnumbers[n];
55 while (scaleFactor > 0)
59 local h = n / scaleFactor;
60 res += spellhundreds(h) + (pScaleName[count]);
74 spellnumber(691677947) = six hundred and ninety-one million, six hundred and seventy-seven thousand, nine hundred and forty-seven
76 if(system.argv.len() > 1)
78 val = system.argv[1].tointeger()
79 println("spellnumber(%d) = %s".fmt(val, spellnumber(val)))
83 println("Usage: %s <number>".fmt(system.argv[0]))