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
}
Alte URL:
/snippet/pruefen-ob-ein-text-eine-zahl-ist/176
Man kann auch einfach Int32.TryParse verwenden.
Ja, aber erst ab .NET 2.0
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
die IsDigit Methode ist so falsch. Die if-Anweisung müsste so gehen:
[code]
if (!Char.IsDigit(x)||(x==“.“))
…
[/code]