alias numconv { var %p %t,%f $null,%t $iif($chr(32) isin $1,$gettok($1,1,32),$remove($1-,$chr(32))),%m,%d,%b 1,%c,%x while %p { %d = $asc($left(%p,1)) if (%d = 48) && (%b = 1) inc %c else %b = 0 if (((%d < 48) || (%d > 57)) && (%d != 46)) || ($count($1-,.) > 1) || (%t = .) e %p = $right(%p,-1) } %t = $iif(%c,$right(%t,$+(-,%c)),%t) if (%t = 0) || ($left(%t,1) = .) return Zero if ($len(%t) > 66) e %t = $gettok(%t,1,46) while %t { %m = $right(%t,3) %m %t = $left(%t,-3) } while %m { %p = $numtok(%m,32) if (%p > 22) e %d = $gettok(%m,1,32) if (%d != 0) { var %c,%x $right(%d,2) if (%d > 99) %c = $a($left(%d,-2)) Hundred if (%x > 19) { %b = $left(%x,1) if (%b isnum -9) %t = $replace(%b,2,Twen,3,Thir,4,For,5,Fif,6,Six,7,Seven,8,Eigh,9,Nine) %b = $iif(%t,$+(%t,ty),%t) %x = $iif($right(%d,1),$+(%b,-,$a($right(%d,1))),%b) } else if (%x < 10) %x = $a(%x) if (%x isnum 10-19) %x = $replace(%x,10,Ten,11,Eleven,12,Twelve,13,Thirteen,14,Fourteen,15,Fifteen,16,Sixteen,17,Seventeen,18,Eighteen,19,Nineteen) %d = $null if (%p isnum 2-22) %d = $replace(%p,22,Vigint,21,Novemdec,20,Octodec,19,Septendec,18,Sexdec,17,Quindec,16,Quattuordec,15,Tredec,14,Duodec,13,Undec,12,Dec,11,Non,10,Oct,9,Sept,8,Sext,7,Quint,6,Quadr,5,Tr,4,B,3,M,2,Thousand) %f = %f %c %x $iif(%p > 2,$+(%d,illion),%d) } %m = $gettok(%m,2-,32) } return %f } alias e { echo Invalid halt } alias a if $1 isnum -9 return $remove($replace($1,1,One,2,Two,3,Three,4,Four,5,Five,6,Six,7,Seven,8,Eight,9,Nine),0)