Laden...

Konvertierung von Datentypen aus und in eine Textbox

Erstellt von henner20 vor 4 Jahren Letzter Beitrag vor 4 Jahren 645 Views
H
henner20 Themenstarter:in
1 Beiträge seit 2019
vor 4 Jahren
Konvertierung von Datentypen aus und in eine Textbox

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.

5.658 Beiträge seit 2006
vor 4 Jahren

Siehe Doku zu Convert.ToDouble(String):

Exceptions
FormatException

value 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