TextBox auf eingabe überprüfen

Hi,

Code:
string input = this.textBox1.Text;
if(input != "")
{
	double number = 0;
	try
	{
		number = Convert.ToDouble(input);
		MessageBox.Show("Eingabe ist eine Zahl");
	}
	catch
	{
		MessageBox.Show("Eingabe ist keine gueltige Zahl");
		return;
	}
}
Ist bestimmt nicht die eleganteste Loesung, aber es funktioniert.
 
Wenn ich die Zahl auf 4 Stellen beschränken möchte, müsste ich dies schon im String ausprobieren z.B. string[4] input = this.textBox1.Text;

Kann man den Integer auf stellen prüfen.

Oder wie könnte ich dies abfangen?
Ich möchte das eine MessageBox aufgerufen wird, falls mehr als 4 Zahlen eingegeben wurden.
 
Also...

Soweit Ich weiß (was in c# noch nicht viel ist...),
kannst du mit der Length-Eigenschaft (namespace System) die Länge eines strings abfragen;
wobei mit Länge hier die Anzahl an chars gemeint ist.
In deinem Fall müsstest du also erst deinen int-Wert mit der ToString()-Methode der Klasse Convert (namespace System) in einen string konvertieren, und dann dessen Länge mit Length prüfen.
Das sähe dann (glaube Ich) ungefähr so aus:

Code:
public int GibLaengeZurueck(int myInt) 
{
     string myString = ""; 
     myString = Convert.ToString(myInt);
     return myString.Length; 
}

So, und das ganze müsstest du dann "nur" noch in einer entsprechenden if-Bedingung abfragen, z.B.:

Code:
if(!GibLaengeZurueck(deineIntZahl)=4)
{ 
     MessageBox.Show("Zahl hat mehr als 4 Stellen.");
}

Ausprobiert hab ich das ganze so jetzt zwar nicht, aber du kannst ja mal schauen, ob du was damit anfangen kannst. :)

Gruß, Niko
 

Neue Beiträge

Zurück