einzelne Zahl aus Variabel prüfen

  • GM 8

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

  • einzelne Zahl aus Variabel prüfen

    Hallo zusammen!
    Ich hoffe jemand von euch kann mir helfen, nun zum Problem und zwar in würziger Kürze. :D

    Problem
    Ich möchte eine Variabel auf eine einzelne Zahl prüfen (z.B. die 2 aus var_lang=1234).

    Bisheriges Vorgehen
    Ich habe es mal auf diese Weise versucht:

    GML-Quellcode

    1. if string_count(2,string(var_lang))=0
    2. var_lang+=20


    weitere Infos
    - die Zahl kommt in der Variabel immer nur einmal vor
    - ich habs auch schon mit string_format (oder so) statt string versucht
    - tja ich denke das war alles... :D

    Hoffe ihr versteht mein Problem.


    Edit:
    Lösung (von $Marvin$)
    Da es sich um einen String handelt muss es so heissen:

    GML-Quellcode

    1. if string_count("2",string(var_lang))=0
    2. var_lang+=20


    Edit:

    Alternative Lösung weiter unten.


    meine Schnecke i@________________________________________________________________________________________
    bitte nicht drauf treten!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Moos ()

  • Hey danke für die schnelle und super Antwort, funktioniert! :thumbsup:

    Ich habe den Fehler überall gesucht nur nicht dort. :headtouch:
    Aber nun geht es ja.


    meine Schnecke i@________________________________________________________________________________________
    bitte nicht drauf treten!
  • Ich weiß, dass das Thema sich schon erledigt hat, aber wieso rechnest du deine Variable nicht mal 0.01 und beim Resultat schneidest du die Nachkommastellen ab und rechnest das Modulo 10.

    So ungefähr:

    GML-Quellcode

    1. var result;
    2. result = var_lang/100; //Zahl an zweiter Stelle vor das Komma schieben
    3. result -= result mod 1; //Nachkommastelle abschneiden
    4. result = result mod 10;//Zahl an zweiter Stelle ausrechnen


    Beispiel:
    var_lang = 1234
    result = 1234/100 = 12,34
    result = 12,34 - 0,34 = 12
    result = 12 mod 10 = 2

    (Wenn du die Zahl an dritter Stelle haben willst, (im Beispiel wäre das ja 3) dann müsstest du var_lang/10 teilen)

    Hoffe hab mich nirgendwo vertan.

    MfG Trixt0r

    Albert Einstein schrieb:

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
  • Ok, so gehts natürlich auch. Hab es ehrlich gesagt zuerst auch auf dem mathematischen Weg probiert. Habe aber deine vorgestellten Funktionen nicht gekannt und es dann eben mit den Strings versucht. Mathematisch wäre es wahrscheinlich auch besser da man so auch lange Zahlen auswerten kann. Fürs nächste mal werde ich wohl deine Technik nehmen, in meinem momentanen Projekt lass ichs aber so wie es jetzt ist.

    Aber danke, schon wieder was dazugelernt. :thumbsup:


    meine Schnecke i@________________________________________________________________________________________
    bitte nicht drauf treten!