[Turn off line numbering]
1: arg number;
2: var an, isneg, temp;
3:
4: an = abs(number);
5: isneg = number < 0 ? "negative " : "";
6: if (!number)
7: return "zero";
8: if (an < 11)
9: return isneg + ones[an];
10: if (an < 20)
11: return isneg + teens[an - 10];
12: if (an < 100)
13: return isneg + tens[an / 10] + ((temp = an % 10) ? "-" + temp.to_english_text() : "");
14: if (an < 1000)
15: return isneg + ones[an / 100] + " hundred" + ((temp = an % 100) ? " " + temp.to_english_text() : "");
16: if (an < 1000000)
17: return isneg + (an / 1000).to_english_text() + " thousand" + ((temp = an % 1000) ? " " + temp.to_english_text() : "");
18: if (an < 1000000000)
19: return isneg + (an / 1000000).to_english_text() + " million" + ((temp = an % 1000000) ? " " + temp.to_english_text() : "");
20: return isneg + (an / 1000000000).to_english_text() + " billion" + ((temp = an % 1000000) ? " " + temp.to_english_text() : "");
21:
22: // $#Written by: Kipp
// Created 27-Mar-1995 as a part of ColdCore, see: @help Credit