Zahl in Zahlwort umwandeln

  • Include: Zahl in Zahlwort umwandeln


    Guten Abend,


    ich habe diese rekursive Funktion zum Umwandeln von Zahlen in Zahlwörter in Pawn umgesetzt: Klick
    Damit besteht die Möglichkeit, Zahlen in Zahlwörter umzuwandeln.
    Beispiele:


    2 -> "zwei"
    69 -> "neunundsechzig"
    137 -> "einhundertsiebenunddreißig"


    Nützlich z.B. für Roleplay-Chats oder um Serverwerbung schwerer lesbar zu machen, indem man die Zahlen in einer IP in Wörter umwandelt.


    Anwendung


    Datei einbinden:



    #include <num2text>



    new numstr[MAX_NUM_LEN];
    num2text(1337,numstr);
    print(numstr); // gibt "eintausenddreihundertsiebenunddreißig" aus


    Info: Die Umwandlung ist auf Zahlen zwischen -2.000.000.000 und 2.000.000.000 beschränkt, weil sonst die Werte der Zahlen anfangen zu spinnen (normalerweise sollte das erst bei Zahlen außerhalb von −2.147.483.648 bis 2.147.483.647 passieren, im Test ist das allerdings schon bei Zahlen mit nur annähernd großen Werten passiert, deshalb diese Grenze).


    Download


    Pastebin


    Download im Anhang


    LG
    pwnfl4sh

    Dateien

    • num2text.inc

      (2,38 kB, 25 Mal heruntergeladen, zuletzt: )
  • 1337 -> einsdreidreisieben


    Kannst du für alles mögliche benutzen, bspw. für eine Codeeingabe o.ä.

  • Also ich finde es gut :)


    @marv627 wenn du schon bissel länger Schreibst dann nervt es immer die Zahlen zu tippen ect.....
    Außerdem kannst du so "Variabel" sein sprich, wenn wer eine Zahl eingibt sie mit Text wiederzugeben....


    L.G.
    heyho ;)

    [tabmenu][tab='Scripting Hilfe','http://s7.directupload.net/images/140218/re5womys.png']
    Du brauchst Hilfe?
    Ich biete kostenlose Scripting Hilfe per und an.

    (Direkte Links; Ts3 IP: 46.163.106.69)

    [tab='Kontakt','http://www.bfcdynamo-01er.de/images/kontakt.jpg']Kontakt ausschließlich nur über


    Hier im Forum
    Auf meinem Teamspeak 3 Server (46.163.106.69)
    [tab='Referenzen','http://s7.directupload.net/images/140422/yddwvfal.png'][b]Alle Referenzen findest du unter Meinem Profil[/tabmenu]

  • 1337 -> einsdreidreisieben


    Das ist nicht ganz richtig, 1337 gibt "eintausenddreihundertsiebenunddreißig" aus.



    // num2text(num,dest[],length=sizeof(dest))


    new numstr[MAX_NUM_LEN];
    num2text(1337,numstr);
    print(numstr); // gibt "eintausenddreihundertsiebenunddreißig" aus

  • Das ist nicht ganz richtig, 1337 gibt "eintausenddreihundertsiebenunddreißig" au

    Ach stimmt, hatte ich vergessen :pinch:


    Denkst du es wäre möglich so ne Art 'Leetspeak' zu machen ? :D

  • Ach stimmt, hatte ich vergessen :pinch:


    Denkst du es wäre möglich so ne Art 'Leetspeak' zu machen ? :D


    Ja, du kannst die jeweiligen Umlaute durch Zahlen bzw. Sonderzeichen ersetzen.
    Dafür ist diese Include allerdings nicht gedacht: sie soll Zahlen zu Zahlwörtern konvertieren.



    Hier noch ein kleines Anwendungsbeispiel, um die Zahlen x-y in einem String zu ersetzen:


    Funktion "replace":



    stock replace(find[],replace[],string[],bool:ignorecase=false,length=sizeof(string))
    {
    new strpos;
    while((strpos = strfind(string,find,ignorecase)) != -1)
    {
    strdel(string,strpos,strpos+strlen(find));
    strins(string,replace,strpos,length);
    }
    return 1;
    }


    Zahlen ersetzen:



    new numstr[10], numword[MAX_NUM_LEN];


    for(new i = y; i >= x; i--)
    {
    valstr(numstr,i);


    if(strfind(string,numstr,true) != -1)
    {
    num2text(i,numword);
    replace(numstr,numword,string);
    }
    }


    Ersetzt die Zahlen x-y durch ihre Zahlwörter.



    LG

    Einmal editiert, zuletzt von pwnfl4sh () aus folgendem Grund: Fehlerkorrektur

  • Ist für Loginsysteme auch nützlich, man lässt eine random Zahl generieren, speichert diese in ner variable ab, setzt sie in einen String ("Gib die zahl %d in Buchstaben an:"), und macht das in einen Dialog, als "Anti-Account-Spam-Schutz" :D

  • Ist für Loginsysteme auch nützlich, man lässt eine random Zahl generieren, speichert diese in ner variable ab, setzt sie in einen String ("Gib die zahl %d in Buchstaben an:"), und macht das in einen Dialog, als "Anti-Account-Spam-Schutz" :D


    Genau das, war meine Idee.
    Schöne Include :)