All pastes #818100 Raw Edit

James

public text v1 · immutable
·published 2007-12-16 02:08 UTC
rendered paste body
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)