Feedback

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

Veröffentlicht von am 7/31/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 8/1/2006:
Man kann auch einfach Int32.TryParse verwenden.
Jan Welker schrieb am 8/6/2006:
Ja, aber erst ab .NET 2.0
backdoor schrieb am 10/20/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 3/17/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!