[Turn on line numbering]
arg number;
var an, isneg, temp;
an = abs(number);
isneg = number < 0 ? "negative " : "";
if (!number)
return "zero";
if (an < 11)
return isneg + ones[an];
if (an < 20)
return isneg + teens[an - 10];
if (an < 100)
return isneg + tens[an / 10] + ((temp = an % 10) ? "-" + temp.to_english_text() : "");
if (an < 1000)
return isneg + ones[an / 100] + " hundred" + ((temp = an % 100) ? " " + temp.to_english_text() : "");
if (an < 1000000)
return isneg + (an / 1000).to_english_text() + " thousand" + ((temp = an % 1000) ? " " + temp.to_english_text() : "");
if (an < 1000000000)
return isneg + (an / 1000000).to_english_text() + " million" + ((temp = an % 1000000) ? " " + temp.to_english_text() : "");
return isneg + (an / 1000000000).to_english_text() + " billion" + ((temp = an % 1000000) ? " " + temp.to_english_text() : "");
// $#Written by: Kipp
["// Created 26-Mar-1995 as a part of ColdCore, see: @help Credit"]