Feedback

Prüfen ob ein Text eine Zahl ist

Sprache: C#

Ü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
}
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
}

4 Kommentare

  1. die IsDigit Methode ist so falsch. Die if-Anweisung müsste so gehen:
    [code]
    if (!Char.IsDigit(x)||(x==“.“))

    [/code]