Einerstelle ausgeben lassen von Integerwert

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Counter Bug.

    Einerstelle ausgeben lassen von Integerwert

    Hallo,
    wie bekomme ich die Einerstellen von verschiedenen Zahlen ausgegeben?

    Beispiel: 251 -> 1 oder 126269 -> 9

    Ich habe mir überlegt jeder Ziffer in einer Liste zu speichern und mir das letzte Item ausgeben zu lassen. Funktioniert auch.
    Gehts aber nicht irgendwie kürzer?
    EDIT:
    Letzte Ziffer (Number = 123, Ergebnis = 3):

    VB.NET-Quellcode

    1. Dim i As Integer = Math.Abs(Number)
    2. i = i Mod 10

    Erste Ziffer (Number = 123, Ergebnis = 1):

    VB.NET-Quellcode

    1. Dim i As Integer = Math.Abs(Number)
    2. While i >= 10
    3. i \= 10
    4. End While


    Viele Grüße, Phil.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „YaPh1l“ ()

    VB.NET-Quellcode

    1. Public Function letzteZiffer(ByVal x As Integer) As Integer
    2. Dim dx As Decimal
    3. Dim idx As Integer
    4. dx = Math.Abs(x) / 10
    5. idx = Int(dx)
    6. Return (dx - idx) * 10
    7. End Function


    Mein Lösungsweg: Die Zahl (zB 246 wird durch 10 geteilt --> 24,6. Davon wird die Ganzzahl abgezogen (24) und das Ergebnis (0,6) wird wieder mit 10 multipliziert. Die ABS-Funktion verwende ich, um negative Zahlen auch korrekt zu behandeln.
    1er-Stelle:

    VB.NET-Quellcode

    1. i = 251 Mod 10

    10er-Stelle:

    VB.NET-Quellcode

    1. i = 251 / 10 Mod 10

    100er-Stelle:

    VB.NET-Quellcode

    1. i = 251 / 100 Mod 10
    2. 'Mod 10 kann weg, falls keine Tausenderstelle oder größer vorhanden ist


    usw