one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen twenty thirty forty fifty sixty seventy eighty ninety thousand m b tr quadr quint sext sept oct non un duo tre quattuor quin sex septen octo novem vigint alias numconv { %r = return var %t $remove($gettok($1,1,32),$chr(44)),%u $gettok(%t,1,46),%f $len(%u),%x 0,%z if %t = $l %r if %t !isnum || %f > 66 || $regex(%u,\D) { %r Invalid } if !%u || !$or(%t) { %r zero } while %x < %f { tokenize 32 $mid(%u,-1) $mid(%u,-2,1) $mid(%u,-3,1) inc %x %z = $iif($3,$l($3) hundred) $l($2 $+ $1) $iif($2 > 1 && $1,$+($l($2 $+ 0),-,$l($1))) $iif($+($1,$2,$3) > 0,$+($l($calc(98+%x)),$iif(%x isnum 12-21,dec),$iif(%x > 2,illion))) %z %u = $left(%u,-3) } %r %z } alias l %r $read($script,$1)