C# - Fehler beim konvertieren von string in Int32

Neue Frage »

Auf diesen Beitrag antworten »
Matze84 C# - Fehler beim konvertieren von string in Int32

Also ich habe versucht einen Euro-Dollar Umrechner zu programmieren, weil wir gerade C# haben, soll das natürlich auch in der Sprache passieren...

Ich habe mir ein Windowsforms gebaut.

Textbox1 enthält den "Umrechnugnskurs"
Textbox2 enthält den Euro Wert
Textbox3 den Dollar Wert.

Ich habe das so gemacht, das wenn man in T2 oder T3 was einträgt, das das andere Feld dann entsprechend gelöscht wird.
Dann frage ich ab welches Feld leer ist und rechne quasi mit dem andern...
Das geht vom Aufbau sicher einfacher, aber das ist nicht mein Problem....

Mein Problem ist, wenn ich:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
namespace Euro_Dollar_Umrechner
{
    public partial class Form1 : Form
    {
        Double kurs;
        Double euro;
        Double dollar;

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            
            if (textBox1.Text == String.Empty)
                MessageBox.Show("Bitte geben Sie einen Umrechnungskurs ein.", "Fehler");
            if (!(Double.TryParse(textBox1.Text, out kurs)))
                MessageBox.Show("Sie haben keine Zahl eingegeben.", "Fehler");

            if (textBox2.Text != String.Empty)
            {
                euro = Convert.ToDouble(textBox3.Text);
                euro = (dollar/kurs);
            }
            else if (textBox3.Text != String.Empty)
            {
                dollar = Convert.ToDouble(textBox2.Text);
                dollar = (euro * kurs);
            }
            
        }
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            kurs = Convert.ToDouble(textBox1.Text);
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            textBox3.Text = String.Empty;
        }

        private void textBox3_TextChanged(object sender, EventArgs e)
        {
            textBox2.Text = String.Empty;
        }

       

    }
}

kompiliere und dann Werte eintrage, das er in folgender Zeile meckert.

Zeile 24:
euro = Convert.ToDouble(textBox3.Text);
 
Auf diesen Beitrag antworten »
InformaTiger RE: C# - Fehler beim konvertieren von string in Int32

Ich kann das jetzt gerade nicht überprüfen, aber wenn du in das Feld Euro nur einen Wert von beispielsweise 3,67 eingibst dürfte es gehen. Es könnte nämlich dein Fehler sein, dass du 3.67 eingegeben hast.

Lg
InformaTiger
Auf diesen Beitrag antworten »
eulerscheZahl

Es ist ein logischer Fehler: es ist immer eine der zwei Textboxen leer - und du willst immer genau die leere in ein double umwandeln, das kann nicht funktionieren.
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
        private void button1_Click(object sender, EventArgs e)
        {

            if (textBox1.Text == String.Empty)
                MessageBox.Show("Bitte geben Sie einen Umrechnungskurs ein.", "Fehler");
            if (!(Double.TryParse(textBox1.Text, out kurs)))
                MessageBox.Show("Sie haben keine Zahl eingegeben.", "Fehler");

            if (textBox2.Text != String.Empty)
            {
                euro = Convert.ToDouble(textBox2.Text);
                dollar = euro * kurs;
            }
            else if (textBox3.Text != String.Empty)
            {
                dollar = Convert.ToDouble(textBox3.Text);
                euro = dollar / kurs;
            }
            //Ausgabe fehlt noch
        }

edit: Achja, du willst außerdem euro einlesen, um dann damit euro zu berechnen.
Auf diesen Beitrag antworten »
Matze84

Zitat:
Original von eulerscheZahl
Es ist ein logischer Fehler: es ist immer eine der zwei Textboxen leer - und du willst immer genau die leere in ein double umwandeln, das kann nicht funktionieren.


Achja stimmt *g*
Ja Ausgabe fehlt noch....

ich teste das quasi immer stück für stück... das ich ggf sehe wo fehler liegen...

Danke danke danke.
 
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »