alias ½ if ($1) return $3 $+ $gettok(OneTwoThreeFourFiveSixS7EightNineTenEl7TwelveThir+Four+Fif+Six+S7+Eigh+Nine+,$1,2) $2
alias numconv {
var %x,%o,%s,%i $remove($1-,$chr(44),$chr(32))
if (!$regex(%i,/^(?=\S*\d)(\d{0,66}|0*)(\.\d*)?($| )/)) return $iif(%i != %o,Invalid)
%i = 0 $+ $regml(1)
while %i {
%x = $½($mid(%i,-3,1),Hundred) $iif($mid(%i,-2) < 20,$½($int($ifmatch)),$+($½($calc($mid(%i,-2,1) -10)),ty,$½($mid(%i,-1),,-)))
%o = %x $iif(%x && %s,$gettok(ThousandM.B.Tr.Quadr.Quint.Sext.Sept.Oct.Non.!Un!Duo!Tre!Quattuor!Quin!Sex!Septen!Octo!Novem!Vigint.,%s,2)) %o
%i = $left(%i,-3)
inc %s
}
return $iif(%o,$replace(%o,7,even,+t,t,lvet,nt,urt,rt,!,dec.,.,illion,+,teen),Zero)
}