none
Rechnen in C# RRS feed

  • Frage

  • Hallo 

    Ich möchte 2 Daten aus einer Textbox auslesen und diese verrechnen und in einer weitern Textbox Ausgeben.

    Leider Funktioniert dies nicht.... Kann da Jemand helfen

    Info :

    private void Strecke_Click(object sender, EventArgs e)
            {
                Strecke.Text = daten.Lines[1] + daten.Lines[2];            
            }

    Dominik Furrer

    Donnerstag, 11. Januar 2018 14:14

Antworten

  • Hallo,

    in einer Textbox ist immer ein String/Text mit einem Text kann man nicht rechnen. Somit muss man diesen Text in eine Zahl umwandel z.B. in einen Int. Das geht am besten mit int.TryParse

    void RechnenMitStrings()
    {
        string zahl1 = "50";
        string zahl2 = "30";
    
        if (int.TryParse(zahl1, out int z1) && int.TryParse(zahl2, out int z2))
        {
            var erg = z1 + z2;
        }
    }


    Gruß Thomas
    Sage nie, ich kann es nicht - sage nur, ich kann es noch nicht!
    Dev Apps von mir: Icon für UWP,  UI Strings
    Andere Dev Apps: UWP Community Toolkit Sample App

    Donnerstag, 11. Januar 2018 14:34
  • Hallo,

    ergänzend noch, der TextBox.Text-Eigenschaft muss auch wieder ein String zugewiesen werden, also ungefähr so, also wenn daten.Lines[] eine numerische Eigenschaft ist.

    Strecke.Text = (daten.Lines[1] + daten.Lines[2]).ToString();

    Falls "Daten" eine TextBox (Multiline) ist, müssen auch mindestens 3 Zeilen da sein.Darauf musst du prüfen (hier werden nur die Zeilen verbunden, nicht gerechnet):

    if ( daten.Lines.Length >= 3 ) {
        textBox1.Text = daten.Lines[0] + daten.Lines[1];
    }
    Falls du in der TextBox pro Zeile eine Zahl stehen hast, kannst du auch mit LinQ einfache Rechnungen durchführen, hier als Beispiel die Summe:
    textBox1.Text = daten.Lines
              .Select(zeile => Convert.ToDouble(zeile))
              .Sum()
              .ToString();

    Aber vielleicht beschreibst du mal genauer, was du "verrechnen" möchtest... ;-)

    Gruß




    Donnerstag, 11. Januar 2018 17:37

Alle Antworten

  • Hallo,

    in einer Textbox ist immer ein String/Text mit einem Text kann man nicht rechnen. Somit muss man diesen Text in eine Zahl umwandel z.B. in einen Int. Das geht am besten mit int.TryParse

    void RechnenMitStrings()
    {
        string zahl1 = "50";
        string zahl2 = "30";
    
        if (int.TryParse(zahl1, out int z1) && int.TryParse(zahl2, out int z2))
        {
            var erg = z1 + z2;
        }
    }


    Gruß Thomas
    Sage nie, ich kann es nicht - sage nur, ich kann es noch nicht!
    Dev Apps von mir: Icon für UWP,  UI Strings
    Andere Dev Apps: UWP Community Toolkit Sample App

    Donnerstag, 11. Januar 2018 14:34
  • Hallo,

    ergänzend noch, der TextBox.Text-Eigenschaft muss auch wieder ein String zugewiesen werden, also ungefähr so, also wenn daten.Lines[] eine numerische Eigenschaft ist.

    Strecke.Text = (daten.Lines[1] + daten.Lines[2]).ToString();

    Falls "Daten" eine TextBox (Multiline) ist, müssen auch mindestens 3 Zeilen da sein.Darauf musst du prüfen (hier werden nur die Zeilen verbunden, nicht gerechnet):

    if ( daten.Lines.Length >= 3 ) {
        textBox1.Text = daten.Lines[0] + daten.Lines[1];
    }
    Falls du in der TextBox pro Zeile eine Zahl stehen hast, kannst du auch mit LinQ einfache Rechnungen durchführen, hier als Beispiel die Summe:
    textBox1.Text = daten.Lines
              .Select(zeile => Convert.ToDouble(zeile))
              .Sum()
              .ToString();

    Aber vielleicht beschreibst du mal genauer, was du "verrechnen" möchtest... ;-)

    Gruß




    Donnerstag, 11. Januar 2018 17:37