Variablen Auflössen (GML)

  • Allgemein

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

  • Variablen Auflössen (GML)

    Hallo zusammen,
    hoffe ich bin hier richtig.

    Ich bin auf der suche nach einer Möglichkeit wie ich ein Wert von einer Variabele auflössen kann.

    Ich habe die Variable var 1 mit ein wert 999, var 2 soll von var1 mir nur den 10er Bereich speicher. und var 3 der 1er Wert von var 1. wie bekommt man das am besten hin?

    Hier das Beispiel wie es aussehen soll. Ist das überhaupt machbar (Fals jemand noch den RPG Maker2K kennt da gabe es eine Funktion bei den Variabelen "MOD" mit der man den wert der variabelen wie im unteren Beispiel auf anderen Variabelen aufteilen konnte.)
    var1 = 999;
    var2 = 90;
    var3 = 9;

    Für hilfe würde ich mich freuen

    Gruß Sveni
  • mod, bzw. Modulo ist ja nichts anderes als der ganzzahlige Divisionsrest.
    Um einzelne Stellen einer Zahlen herauszubekommen, kann man eine Kombination aus div (Integer-Division) und mod (Rest einer Integer-Division) verwenden.

    Statt 999 nehme ich aber 456 damit jede Stelle eine andere Ziffer besitzt (ist besser zur Veranschaulichung):

    GML-Quellcode

    1. var_1 = 456
    2. var_3 = var_1 mod 10 // man beachte: 456 durch 10 ist bei einer Ganzzahldivision 45. Der Rest dieser Division ist also 6
    3. var_2 = var_1 mod 100 // Ergebnis der Ganzzahldivision ist 4, der Rest ist also 56.


    Wenn du z.B. nur die Hunderterstelle Zehnerstelle haben willst, ohne der Einerstelle, kannst du das so machen:

    GML-Quellcode

    1. var_2 = var_1 mod 100 div 10


    Statt mod kann man auch das Prozentzeichen verwenden.

    edit/ Flüchtigkeitsfehler korrigiert

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

  • Guten Morgen zusammen,
    Danke für das Beispiel habe es gestern versucht . Am Taschenrechner bin ich immer mit ein * auf das passende Ergebnis gekommen . Im GM hat es dann nicht funktioniert. Bis ich den Beispiel Code gesehen habe. Danke