Auf Zahlen und Buchstaben überprüfen



  • Hi

    ich möchte durch eine abfrage überprüfen ob es sich bei einem TextBox um Zahlen handelt oder um buchstaben. gibt es nicht sowas wie "isnum" oder ähnliches?



  • Müsste nicht ToInt32() eine Exception werfen, wenn da Buchstaben drin sind? dann könntest du ja damit abfangen, ob ein Nutzer da irgendwie Buchstaben reingepackt hat.



  • Du kannst Int32.TryParse verwenden oder char.IsDigit , char.IsAlpha etc.
    Reguläre Ausdrücke wären auch noch denkbar. Was man nimmt hängt ein wenig davon ab, was man mit dem Wert machen will. (Eine RegEx könnte etwas übertrieben sein, wenn man den Wert einfach in ein int packen will.)



  • und wie würde das bei einer if-abfrage aussehen?

    hab irgendwo das hier gefunden: if (char.isalpha())
    aber bekomme dann die fehlmeldung:

    Fehler 1 "char" enthält keine Definition für "isalpha".



  • namespace Test
    {
        static class BSP
        {
            public static bool OnlyNumbers(string str)
            {
                foreach (char c in str)
                {
                    if (!char.IsDigit(c))
                        return false;
                }
                return true;
            }
    
            public static bool OnlyNumbersRegEx(string str)
            {
                return Regex.IsMatch(str, "^\d+$");
            }
    
        }
        class Program
        {
            static void Main(string[] args)
            {
                string test = "Hallo 12";
                string test2 = "12345";
    
                Console.WriteLine(BSP.OnlyNumbers(test).ToString());
                Console.WriteLine(BSP.OnlyNumbers(test2).ToString());
                Console.WriteLine(BSP.OnlyNumbersRegEx(test).ToString());
                Console.WriteLine(BSP.OnlyNumbersRegEx(test2).ToString());
    
            }
        }
    }
    


  • whatever1 schrieb:

    und wie würde das bei einer if-abfrage aussehen?

    hab irgendwo das hier gefunden: if (char.isalpha())
    aber bekomme dann die fehlmeldung:

    Fehler 1 "char" enthält keine Definition für "isalpha".

    Ähm … Dir ist aber schon bewusst, dass die Groß- und Kleinschreibung in C# eine Rolle spielt? Abgesehen davon sollte Dir die IDE doch auch sagen, wie die Methode richtig heißt.


Anmelden zum Antworten