Ich habe inzwischen eine Möglichkeit gefunden Wortzahlen sinvoll zu zerlegen. Schauen wir uns mal eine große Zahl an :
dreihundertvierunsdechzigmillionenzweihundertfuenfunddreissigtausenddreihundertachtzehn
Meine Funktion zertrennt die Zahl erstmal nach Million, Tausend und Hundert :
dreihundertvierunsdechzig
millionen
zweihundertfuenfunddreissig
tausend
dreihundert
achtzehn
Folgend werden die Werte vor Million, Tausend und Hundert in Zahlen umgewandelt und ausgerechnet undzwar erstmal die 'Und' Verknüpfunden
(zB.: 2und40 => 2+40 => 42). Danach die 'Hundert' Verknüpfungen (4100 => 400). Die Unterergebnisse werden wieder zusammenaddiert und mit der 10er Potenz (Million, Tausend, Hundert) multilitziert.
Alle daraus resultierenden Unterergebnisse werden wieder addiert worraus sich die Zahl ergibt.
Die Umwandlung von Wort bis zahl vor dem Rechenprozess ist einfach, es gibt 3 Arrays :
1. Wortzahlen ("ein", "vierzig", ...)
2. Zahlen ("1,","40",...)
3. Wortzahllänge (3,7,...)
Die Wortzahlen werden im Eingabestring gesucht, dann werden sie durch ihr Pendant im Zahlen Array ersetzt, undzwar so viele Stellen wie im Wortzahlenlänge Array angegeben. (Danach dann die oben genannten Zerlegungsfunktionen)
Wenn jemand den Code sehen möchte poste ich ihn hier gerne.