alias n { var %s = $1,%1 = $replace(One Two Three Four Five Six Seven Eight Nine Ten Eleven Twelve Thir* Four* Fif* Six* Seven* Eigh* Nine*,*,teen),%2 = X Twenty Thirty Forty Fifty Sixty Seventy Eighty Ninety Hundred,%r,%d,%e if (!$1) return Zero else { while (!$left(%s,1)) %s = $right(%s,-1) if ($len(%s) = 3) { %r = $gettok(%1,$left(%s,1),32) Hundred %s = $right($1,2) } if (!%s) return %r elseif (%s < 20) return %r $gettok(%1,%s,32) %d = $left(%s,1) %e = $right(%s,1) return %r $iif(%d,$gettok(%2,%d,32) $+ $iif(%e,-)) $+ $iif(%e,$gettok(%1,%e,32))) } } alias numconv { if ($1 != $null) { var %n = $replace($1,$chr(44),$null),%i,%r,%p,%r %i = $pos(%n,.) if (%i != 1) { if (%i) { %i = $gettok(%n,2,46) if (!%i) || (($left(%i,1) isnum) && (%i isnum)) %n = $gettok(%n,1,46) } %p = $len(%n) %i = 1 if (%n isnum) && (%p <= 66) && ($count(%n,.) <= 1) && ($left(%n,1) isnum) { var %1 = $replace(Thousand M* B* Tr* Quadr* Quint* Sext* Sept* Oct* Non* &* Un&* Duo&* Tre&* Quattuor&* Quin&* Sex&* Septen&* Octo&* Novem&* Vigint*,*,illion,&,dec) if (!%n) return Zero if (%p <= 3) return $n(%n) while (%i < %p) { if ($right(%n,3) > 0) %r = $n($right(%n,3)) $iif(%i > 1,$gettok(%1,$calc(%i / 3),32)) %r %n = $left(%n,-3) inc %i 3 } if (%n) %r = $n(%n) $gettok(%1,$calc(%i / 3),32) %r return %r } else return Invalid } else { %r = $gettok(%n,1,46) if ($left(%r,1) isnum) && (%r isnum) return Zero else return Invalid } } }