Entwickler-Ecke

Basistechnologien - Variablen Wert splitten und dann damit rechnen


KistK - So 16.08.15 04:52
Titel: Variablen Wert splitten und dann damit rechnen
Hallo,

Es geht hier um die Programmiersprache "C#"
eines mal vorweg, im Bereich Programmieren habe ich 0 Erfahrung.
Und ich bin komplett neu in diesem Forum, hoffe ich hab alles richtig gemacht.
Hab zwar mit der Suche gesucht aber nichts passendes gefunden.

Überblick:
Ich bekomme über eine Serielle Schn[search] IN csfittstelle Werte übergeben.
Diese Werte sehen immer wie folgt aus (301, 220, 117, ...)

Was brauche ich:
Beispiel es wird die Zahl 301 übertragen,
dann möchte ich eine Variable mit dem Wert "3"
und eine Variable mit dem Wert "01"

Anschließend brauche ich noch eine dritte Variable,
wo ich diese zwei Variablen multipliziere.

Mein Problem:
Ich kann die Zahlen zwar Splitten,
aber ich kann damit dann nicht rechnen.
Die letzten zwei Code Zeilen funktionieren nicht.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
private void timer1_Tick(object sender, EventArgs e)
{
    string A = serialPort1.ReadExisting();
    if (A != "")
    {
        Convert.ToInt16(A);  // Konventiere die Variable zu einen Zahlentyp (Integer)
        label1.Text = A;  // Gib die Variable im Label1 aus (Beispiel: 302)

        string Faktor = A.Substring(0,1);  // Zerlege die 3 Stellige Zahl und speichere die erste Zahl in die Variable "Faktor"
        label4.Text = Faktor;  // Gib die Variable im Label4 aus (Beispiel: 3)

        string Wert = A.Substring(1,2);  // Zerlege die 3 Stellige Zahl und speichere die zweite und dritte Zahl in die Variable "Wert"
        label7.Text = Wert;  // Gib die Variable im Label7 aus (Beispiel: 02)


        Convert.ToInt16(Faktor);  // Konvertiere die Variable "Faktor" zu einen Zahlentyp (Integer)
        Convert.ToInt16(Wert);  // Konvertiere die Variable "Wert" zu einen Zahlentyp (Integer)

        int gesamt = Faktor * Wert;  // Multipliziere "Faktor" * "Wert" und speichere den Wert in die Varialbe "gesamt"
        label9.Text = gesamt;
     }
}


Moderiert von user profile iconTh69: C#-Tags hinzugefügt


Th69 - So 16.08.15 08:47

Hallo und :welcome:

du mußt den Rückgabewert der Methode Convert.ToInt16 verwenden:

C#-Quelltext
1:
2:
int faktor = Convert.ToInt16(Faktor);
int wert = Convert.ToInt16(Wert);

Und nun kannst du die beiden Zahlen miteinander multiplizieren.


auoji - Mo 17.08.15 16:13

Und dann

C#-Quelltext
1:
int gesamt = faktor * wert                    

(statt int gesamt = Faktor * Wert)

Moderiert von user profile iconTh69: C#-Tags hinzugefügt