Alias NumConv {
%r = return
var %t,%m,%n $g($remove($1,$chr(44)),1),%x One Two Three Four Five Six Seven Eight Nine Ten Eleven Twelve Thir Four Fif Six Seven Eigh Nine
if %n = $null %r
if ($regex(%n,\..*\.|[^\d\.]|^\.$)) %r Invalid
%l = $regsub(%n,\..*,,%n)
while $len(%n) {
var %s $right(%n,3),%a %s / 100,%b %s % 100,%c %b % 10,%n $left(%n,-3)
%t = $iif($int(%a),$g(%x,%a) Hundred) $iif(%b > 19,$+($iif(%b > 29,$g(%x,$calc(%b /10+10)),Twen),ty,$iif(%c,- $+ $g(%x,%c))),$iif(%b,$g(%x,%b) $+ $iif(%b > 12,teen))) $iif($int(%s),$+($g(Thousand M B Tr Quadr Quint Sext Sept Oct Non Dec Un Duo Tre Quattuor Quin Sex Septen Octo Novem Vigint,%m),$iif(%m isnum 12-20,dec),$iif(%m > 1,illion))) %t
inc %m
}
%r $iif(%t,$iif(%m > 22,Invalid,%t),Zero)
}
Alias G %r $gettok($1,$2,32)