Visual Basic Variablen addieren
Hallo zusammen,
ich will in Visual Basic Variablen addieren.
S12 = S2 + S3 + d2
Wenn z.B. S2=1, S3=2 und d2=3 sind sollte 6 raus kommen, jedoch wird mir 123 ausgegeben. Kann mir jemand sagen was ich ändern muss?
LG
5 Antworten
Offenbar hast du die Variablen S2, S3 und d3 als String deklariert. Dieser Typ ist für Zahlen (mit denen du rechnen willst) ungeeignet.
Wenn du ihn dennoch verwenden willst, müsstest du die Werte mit der val()-Funktion in Zahlen umwandeln.
Beachte bitte, dass als Dezimaltrennzeichen der Punkt zu verwenden ist - du also 3.14 und nicht 3,14 schreiben musst.
Außerdem muss die Variable S11 nicht als Integer, sondern als Double deklariert sein.
Ich habe einen Punkt verwendet und S11 ist als Double deklariert. Es kommt trotzdem nicht das gewünschte Ergebnis raus.. :(
Falls ein Komma als Dezimaltrennzeichen verwendet wird, kann man mit CDbl einen Text in eine Double umwandeln.
Ich habe Dir ein kleines Beispielprogramm geschrieben, dass mit Srings arbeitet und Komma-Schreibweise verarbeitet.
Auf einer Fom stehen
- 1 Button
- 3 TextBoxen
- 1 Label
Der Code ist:
Dim S1, S2, S3, Ergebnis As Decimal
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
S1 = Convert.ToDecimal(TextBox1.Text)
S2 = Convert.ToDecimal(TextBox2.Text)
S3 = Convert.ToDecimal(TextBox3.Text)
Ergebnis = S1 + S2 + S3
Label1.Text = Convert.ToString(Ergebnis)
End Sub
evtl
Dim S12 = 0
S12 = S12 + S2 + S3 + d2
Welchen Datentyp haben deine Variablen?
Dann ist das Problem klar. Bei String hängt er mit dem + Opperator nur die String hintereinander. Entweder du machst daraus einen Zahlentyp oder wandelst es jeweils mit val(String s) in eine Zahl um.
Ich muss es leider als String deklarieren, da sonst andere Sachen nicht mehr klappen.
Bitte poste mal deinen Code und erklär genauer wie und welche Art von Werten reinkommen sowie wie und wofür du diese nutzt.
So wird das Ergebnis aber gerundet..?