alias a { if ($1 = 00) return elseif ($right($1,1) = 0) return $gettok(%b,$left($1,1),32) elseif (($left($1,1) = 0) || ($left($1,1) = 1) || ($1 < 10)) return $gettok(%a,$1,32) elseif ($left($1,1) > 1) return $+($gettok(%b,$left($1,1),32),-,$gettok(%a,$right($1,1),32)) } alias b { var %p $a($right($1,2)) if ($len($1) > 2) var %p $iif($a($left($1,1)),$ifmatch hundred) %p return %p } alias numconv { set %a one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen twenty set %b ten twenty thirty forty fifty sixty seventy eighty ninety hundred thousand set %c thousand m b tr quadr quint sext sept oct non dec undec duodec tredec quattuordec quindec sexdec septendec octodec novemdec vigint var %d $remove($gettok($1,1,32),$chr(44)),%o,%i if ((%d !isnum) || (- isin %d) || (+ isin %d) || ($pos(%d,.,0) > 1) || ($len(%d) > 66)) && (%d) return invalid if (%d < 1) return zero if (!%d) return %d = $gettok(%d,1,46) while ($len(%d)) { set %o $b($right(%d,3)) $iif(%i && $b($right(%d,3)),$gettok(%c,%i,32) $+ $iif(%i > 1,illion)) %o set %d $left(%d,-3)) inc %i } return %o }