Zeichen aus String in Zahl umwandeln



  • Ich möchte aus einem String von Ziffern ein Zeichen in eine Zahl umwandeln:

    string s="342956";
    

    Wieso funktioniert

    int i = Convert.ToInt32(s[4]);
    

    nicht? Genauer gesagt liefert das den ASCII-Wert des Zeichens, aber nicht den Zahlwert 5.
    Convert.ToInt32 kann man ja auch verwenden, um die Eingabe in eine Textbox in eine Zahl umzuwandeln.

    Vielleicht kann mir jemand weiterhelfen.



  • string s = "342956";
       int i = int.Parse(s);
    


  • Hallo,

    um ein einzelnes Zeichen "korrekt" in eine Zahl umzuwandeln musst du den Umweg gehen und dieses in einen String umwandeln.

    Also wie folgt:

    string s="342956";
    int i = Convert.ToInt32(s[4].ToString());
    

    IDEONE



  • inflames2k schrieb:

    Hallo,

    um ein einzelnes Zeichen "korrekt" in eine Zahl umzuwandeln musst du den Umweg gehen und dieses in einen String umwandeln.

    Also wie folgt:

    string s="342956";
    int i = Convert.ToInt32(s[4].ToString());
    

    IDEONE

    Danke für den Tipp.
    Es geht auch

    int i = (int)Char.GetNumericValue(s[4]);
    


  • Ja stimmt, die "char"-Methoden hatte ich jetzt nicht im Überblick, da ich selten mit Chars operiere.


Log in to reply