Ich versuche eine Zahl die in die Textbox eingegeben wird nach der rechnung wieder in der textbox auszugeben. aber ich bekomme immer den selben Fehler wenn die Bedingung T1=0 oder T2 = 0 ist meine fehlermeldung immer" FormatExeption wurde nicht behandelt"...
was ist hier flasch?
private void button_Click(object sender, RoutedEventArgs e)
{
double g1,g2,z1,z2;
double t1 = Convert.ToDouble(T1.Text); // hier zeigt er mir die Exception an
double t2 = Convert.ToDouble(T2.Text);
double t3 = Convert.ToDouble(T3.Text);
double t4 = Convert.ToDouble(T4.Text);
if (String.IsNullOrEmpty(T1.Text) && String.IsNullOrEmpty(T2.Text))
MessageBox.Show("Bitte Temperatureingabe kontrollieren");
else
if (String.IsNullOrEmpty(T3.Text) && String.IsNullOrEmpty(T4.Text))
MessageBox.Show("Bitte Temperatureingabe kontrollieren");
else
if (t4 > t1)
MessageBox.Show("Eintritt Warm ist kleiner Austritt kalt");
else
if (t3 > t2)
MessageBox.Show("Austritt Warm ist kleiner Eintritt kalt");
else
if (t3 > t4)
MessageBox.Show("Temperaturen kalte Seite prüfen");
else
if (t2 > t1)
MessageBox.Show("Temperaturen warme Seite prüfen");
else
if (String.IsNullOrEmpty(T1.Text))
{
z1 = t2 + ((t4 + 5) - t3);
g1 = z1;
T1.Text=Convert.ToString(g1); //hier ist die funktion die spinnt
}
else
if (String.IsNullOrEmpty(T2.Text))//hier ist die funktion die spinnt
{
z2 = t1-((t4+5) - t3);
g2 = z2;
T2.Text = Convert.ToString(g2);
}
else
{
//Berechnung bei angegebenen Temperaturen
MessageBox.Show("Alles Gut");
}
}
}
}
Vielen Dank schon mal vorab.
Siehe Doku zu Convert.ToDouble(String):
Exceptions
FormatExceptionvalue is not a number in a valid format.
Wenn keine Zahl in der Textbox steht, kann sie auch nicht umgewandelt werden. Verwende besser Double.TryParse
, um zu testen, ob überhaupt konvertiert werden kann.
Für WPF kann man auch DataBinding verwenden, das ist wesentlich komfortabler: [Artikel] MVVM und DataBinding
Weeks of programming can save you hours of planning