Ein String der eine Zahl enthält "sprechbar" machen

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ein String der eine Zahl enthält "sprechbar" machen

    Hallo,
    ich möchte gern eine Zahl (die ein string ist) quasi sprechenbar machen. Ach, seht selbst:

    1.674.395.378 => 1Milliarde 674Millionen 395Tausend 378

    Und mein Programm hat einen großen umfang:
    Tredezillion ist möglich (=10^78 also 1 mit 78Nullen dran)

    ich schätze das ist nicht gerade leicht oder doch?

    P.S. Meine Selbstversuche sind leider gescheitert.
  • Ich kann dir nur sagen du müsstest erstmal erstmal alle Zahlen bis 99 mit den dazugehörigen Worten definieren und dann je nach Zahlenlänge denn Passenden begriff (Tausend, Hundert etc.) ausgeben und alle Zahlen in der Reihe durchgehen. Viiiiel Arbeit.

    © 2008 by Teamgrill Productions
  • Du könntest versuchen, die Zahl als String zu speichern, diesen String von hinten an jeder 3. Stelle aufzusplitten und dahinter die entsprechenden Silben einzufügen. So könnte aus 1234567890 z.B. "1 Milliarde, 234 Millionen, 567-tausend-890" werden. Du müsstest dann eventuell noch überprüfen, ob die einzelnen Segmente größer als 1 sind (indem du sie entweder wieder nach Real umformst oder direkt den Inhalt der Stringsegmente überprüfst) und in diesem Fall dann die Pluralform einfügen (z.B. eben "Millionen" statt "Million").

    Das ist jetzt nicht direkt ein Lösungsvorschlag, eher ein Denkanstoß - ich weiß nämlich nicht, ob der GM für alle Lösungsschritte auch entsprechende Funktionen beinhaltet. ^^
    Am besten, du probierst da mal selbst ein bissel rum, dann wird schon was draus.
  • Benni1000 schrieb:

    Ganz einfach: Speichere als String und dann Sprich alles aus: Eine Milliarde, zweihundertvierunddreisig Millionen, fünfhundertvierundachtiz-tausend-achtundertneunzi g
    Wie soll mir das helfen?
    Danke den anderen mal ich probier mal ein bisschen rum.

    Edit: What's wrong

    GML-Quellcode

    1. s=argument0
    2. r=""
    3. a=0
    4. zd[0]=""
    5. zd[1]="Tausend"
    6. zd[2]="Millionen"
    7. zd[3]="Milliarden"
    8. zd[4]="Billionen"
    9. zd[5]="Billiarden"
    10. for(i=string_length(s);i>2;i-=3)
    11. {
    12. r=string_insert(string_copy(s,i-2,i)+zd[a],r,1)
    13. a+=1
    14. }
    15. return r
    Alles anzeigen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von whiterock ()