C# Textbox Problem

ThePower

Lieutenant
Registriert
Apr. 2008
Beiträge
535
Hallo Community,

ich bin Anfänger im Gebiet C# und bin auch gleich mit dem ersten Problem konfrontiert.
Ich habe mir in Visual Studio eine kleine WindowsForm erstellt mit 2 TextBoxen 3 Button und einer ListBox.

Zum Problem:

Ich möchte gerne realisieren das der Benutzer über die beiden TextBoxen Werte eingibt, die dann addiert werden und per Button Klick als Ergebnis in der ListBox angezeigt werden. Nun habe ich das Problem das C# die Eingabe als String erkennt und das sich die Eingabe des Benutzers dann nicht in Integer konvertieren lässt.

Habe bis jetzt alle anderen Funktionen hinbekommen nur hier weiß ich nicht weiter, in der Consolenanwendung läuft alles tadellos.

Ich hoffe es kann mir jemand helfen!

LG ThePower
 
Konvertiere die Werte in z.b Double
 
ein bisschen code wäre interessant=)
 
Bitte benutze google! Die Frage ist doch einfach hoch 10.
 
Das Ganze kannst du so anstellen, natürlich musst du statt "textbox" deine Textbox angeben und statt "toInt32" kannst du auch andere Datentypen auswählen.

int i = Convert.toInt32(textbox.Text)
 
einfach bissle googlen. gibt 1000 sachen dazu.
 
So zum Beispiel:
Code:
            bool bZahl1gueltig = true;
            int zahl1 = 0;
            try {
                zahl1 = Int32.Parse(textBox1.Text);
            }
            catch (Exception) {
                bZahl1gueltig = false;
            }

wenn bZahl1gueltig == false ist, handelt es sich um keine Zahl.
 
stimme da Sra ganz zu.....
 
@asator665
xD weil du soviel ahnung vom programmieren hast ?

@ThePower
wie schon gesagt benötigst du eine Konvertierung von "String" in "double" bzw "integer" eben eine zahl mit der du rechnen kannst
in fachsprachen wird für die Konvertierung der begriff TypeCast verwendet
darunter solltest vllt auch etwas in deinem Buch finden
 
Ein Type Cast ist aber etwas anderes als eine Konvertierung zwischen Datentypen.
Code:
int i = 50;
char c = i;
 
oder in kurzschreibweise
Code:
  int zahl1 = 0;
 bool bZahl1gueltig = Int32.TryParse(textBox1.Text, out zahl1);
dann sparst dir das Exception Handling selber zu implementieren
 
also mir wurde gelehrt das dies typecast heißt xD
sry wenn ich mich getäuscht hab ;P
 
type cast = ein Typ wird auf einen anderen umgewandelt (das kann man machen wenn sie sich sehr ähnlich sind oder voneinander Erben, z.B. String auf object, int auf char oder so)

Das andere nennt sich type conversion.

Laut Wikipedia ist das aber synonym.
"Als Typumwandlung (englisch type conversion oder cast) wird in der Informatik die Umwandlung eines Datentyps in einen anderen bezeichnet, um eine Typverletzung zu vermeiden, die durch mangelnde Zuweisungskompatibilität gegeben ist. Hierbei unterscheidet man zwischen expliziter und impliziter Typumwandlung."

Also wäre wohl von char auf int ein impliziter und Integer.TryParse(str) ein expliziter Type Cast.
 
Zuletzt bearbeitet:
Also bei expliziter Typkonversion fällt mir auch etwas gänzlich anderes ein:
Code:
double a = 5.4, b = 4.6, c = 5;
int d = (int)a + (int)b + (int)c;
printf( "%f + %f + %f = %d", a, b, c, d );
 
Ganz genau, 2 + 2 = 5 (für sehr große Werte von 2) :evillol:
 
Zurück
Oben