Feedback

C# - Prüfen ob ein Text eine Zahl ist

Veröffentlicht von am 31.07.2006
(6 Bewertungen)
Überprüfen, ob ein String oder eine textBox eine Zahl sind. Somit kann ein Absturz beim Konvertieren zum Typ Int vermieden werden.
bool zahl=true;
int nummer=0;
foreach (char x in textBox1.Text)
{
 if ((x.IsDigit==false)||(x==".")) //das oder x==".", wenn man Zahlen mit Kommastellen erlauben will. Dann muss man aber zu double konvertieren!
 {
  zahl=false;
 }
}
if (zahl==false)
{
 MessageBox.Show("Sie haben keine gültige Zahl eingegeben!", "Fehler");
}
else
{
 nummer=Convert.ToInt32(textBox1.Text);
 //Variable nummer verwenden
}
Abgelegt unter Zahl, ToInt32, Convert.

4 Kommentare zum Snippet

ZiMD schrieb am 01.08.2006:
Man kann auch einfach Int32.TryParse verwenden.
Jan Welker schrieb am 06.08.2006:
Ja, aber erst ab .NET 2.0
backdoor schrieb am 20.10.2006:
statt noch ne if anweisung zu schrieben kann man doch direkt die messagebox.show funktion in der ersten if anweisung schreiben dazu die else klausel
DimpiM schrieb am 17.03.2011:
die IsDigit Methode ist so falsch. Die if-Anweisung müsste so gehen:

if (!Char.IsDigit(x)||(x=="."))
...
 

Logge dich ein, um hier zu kommentieren!