; Benutzung $zahl2wort(Zahl [max 114 stellig])
alias zahl2wort {
!var %nums = TausendMi!Mi.Bi!Bi.Tri!Tri. $+ $&
Quadri!Quadri.Quinti!Quinti.Sexti!Sexti. $+ $&
Septi!Septi.Okti!Okti.Noni!Noni. $+ $&
Dezi!Dezi.Undezi!Undezi.Duodezi!Duodezi. $+ $&
Tredezi!Tredezi.Quattuordezi!Quattuordezi.Quindezi!Quindezi. $+ $&
Sexdezi!Sexdezi.Septendezi!Septendezi.Oktodezi!Oktodezi.
!var %o,%s,%i $remove($1,$chr(44)),%r !return,%1,%2,%3,%4,%x
!var %zig = 0ZwanzigDreißigVierzigFünfzigSechzigSiebzigAchtzigNeunzig
if (!$regex(%i,/^(?=\S*\d)(\d{0,114}|0*)(\.\d*)?($| )/)) %r $iif(%i != %o,Ungültig)
while (%i) {
%x = $replace($¼($mid(%i,-3,1),hundert),_,) | %1 = $replace($iif(%s,$gettok(%nums,%s,2)),!,llion,.,llarde) | %2 = $mid(%i,-2) | %3 = $¼($int(%2)) | %4 = $iif(%2 > 19,$¼($mid(%i,-1)) $+ $iif(%2 > 19 && $right(%2,1) != 0,-) $+ $gettok(%zig,$mid(%i,-2,1),2)))
%x = %x $iif(%2 < 20,$iif(%3 == Ein && !%s,Eins,%3)) $+ $iif(%s > 1 && %3 == Ein,e) $upper($left(%4,1)) $+ $lower($right(%4,-1)) $iif($int($mid(%i,-3)) != 0,$iif(%3 != Ein && %s > 1,$»(%1),%1))
%o = %x %o | %i = $left(%i,-3) | inc %s
}
return $iif(%o,$replace(%o,+,ehn,-,und),Null)
}
alias -l » if ($1) return $1 $+ $iif($right($1,1) == e,n,en)
alias -l ¼ if ($1) return $gettok(EinZweiDreiVierFünfSechsSiebenAchtNeunZ+ElfZwölfDreiz+Vierz+Fünfz+Sechsz+Siebz+Achtz+Neunz+,$1,2) $+ $2