PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zahlen in wörter umwandeln


Lan**Master**
09.03.2002, 19:17
:rolleyes: hallo also eine freundin von mir aus amerika hat ein paar problem mit java. und zwar geht es um eine aufgabe bei der mann eine zahl eingibt :


zum beispiel

eingabe: 283
ausgabe: zwei hundert drei und achtzig

oder

eingabe: 1927
ausgabe : eintausend neunhundert sieben und zwanzig

jedenfalls soll ein zahlwort wieder rauskommen

da bin ich so ziemlich mit ihr am krübel wenn mir einer helfen kann :rolleyes:


Fragger
11.03.2002, 08:44
hi
bevor du ewig auf eine antwort wartest
das geht ganz bestimmt, aber da es sich dabei
eher um ein logisches problem handelt und
nicht technisch, kann ich dir da nicht helfen,
naja ich könnte schon, aber ich habe ehrlich
gesagt keine lust, mich 2 - 3 stunden hinzusetzen und
mir den kopf zu zerbrechen. müsst ihr schon
selber lösen, aber vielleicht hat ja jemand auf der
weiten welt das selbe problem gehabt und es
gelöst!
gruesse, fragger

ZeroJump
13.03.2002, 20:31
Also, das passt auch nicht so richtig in die Java-Section. Letztenendes ist es doch ein Sprachproblem:

Es ist ein Unterschied ´Eins´ für 1 zu sagen, oder ´Einhundert´ für 100. Das Grundwort ´Eins´ ist in beiden Fällen vorhanden. Für jede Ziffer ein Wort zu nehmen ist also totaler Schwachsinn. Deshalb muss man das anders angehen.

Meiner ersten Überlegungen waren:

1. Länge der Ziffer analysieren. Damit weiss ich, welche 10er-Potenz-Bezeichnung ich als erstes benötige, Beispiel: 4560 (vier-TAUSEND), 5.567.344 (fünf-MILLIONEN)

2. Erste Ziffer der gesamten Zahl feststellen. Damit ergibt sich schon mal, ob die 10er-Potenz im Wort als Plural auftaucht oder nicht. Beispiel: 1.234.643 (EINE-million), aber 4.453.345 (VIER-millionEN)

3. Die Schritte wiederholen für die nächsten Ziffern. Dabei auf ´Nullen´ überprüfen, um einzelne Wörter zu überspringen. Beispiel: 4.000.003 (vier-millionen- hierstehtnix -drei)

Hoffe, dass das als Denkansatz reicht. Gruß, ZJ

tpafo
13.03.2002, 22:34
Hallo,
habe die Lösung deines Problems in einem anderen Zusammenhang kennengelernt. Das war die Sprachsynthese unter Linux. Dabei geht es darum sich geschriebenen Text vom Rechner vorlesen zu lassen. Dabei werden auch Zahlen wie z.B. 1980 in eintausendneunhundertachzig oder wenn gewünscht in neunzehnhundertachzig umgewandelt.
Mehr Infos dazu unter:
http://www.linux-magazin.de/ausgabe/2000/05/Sprachsynthese/sprachsynthese.html

Die Installation ist etwas kompliziert, macht aber hinterher echt Laune.
Viel Spaß