Laden...

Datentyp überprüfen

Erstellt von WebdevIGB vor 19 Jahren Letzter Beitrag vor 19 Jahren 3.699 Views
W
WebdevIGB Themenstarter:in
16 Beiträge seit 2004
vor 19 Jahren
Datentyp überprüfen

Hallo,

wie kann ich mit Hilfe einer If anweisung überprüfen ob der Inhalt eines Textfeldes den Datentyp Integer hat oder nicht?

Gruß WebdevIGB

N
4.644 Beiträge seit 2004
vor 19 Jahren

Eine TextBox gibt immer einen String über Ihre Text Eigenschaft zurück. Du kannst den Wert casten oder lässt nur die Eingabe von Zahlen zu.

F
529 Beiträge seit 2003
vor 19 Jahren

Dort wo du testen willst, ob nur Zahlen eingetragen sind:


try
{
     Convert.ToInt32(deineTextBox.Text)
}
catch(Exception)
{
     e.Handle = false; // e oder wie auch immer deine Eventvariable heißt
}

Oder du fängst den Keypressevent ab, und dann machst du(womit du verhinderst, dass Nichtzahlen nicht eingetragen werden)


if ("1234567890\b".IndexOf(e.KeyChar.ToString())<0)
     e.Handled = true;

Besuchen sie das VisualC++ - Forum

333 Beiträge seit 2004
vor 19 Jahren

Oder du nimmst reguläre Ausdrücke 🙂 Ich mag die Variante mit dem Try-Catch überhaupt net, weils einfach Trial & Error Prinzip ist und das muß ja nicht sein. Leider verfügt nur Double über ein TryParse, womit es also ansonsten am einfachsten über Regex geht.

if (Regex.Match(input, @"^\p{Nd}+$").Success) // ist Integer;

Wenn dus ganz genau wissen möchtest mußt du zusätzlich noch Prüfen ob der Wert zwischen int.MinValue und int.MaxValue liegt. Einfacher wärs aber im dem Falle einfach die Eingabe direkt zu prüfen.

([bb]|[^b]{2})