Visual Basic Variablen addieren

5 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

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.


AquaMedium 
Beitragsersteller
 20.04.2015, 12:20
S11 = Val(S2) + Val(S3) + Val(d1)

So wird das Ergebnis aber gerundet..?

 

0
ultrarunner  20.04.2015, 12:28
@AquaMedium

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.

1
AquaMedium 
Beitragsersteller
 20.04.2015, 12:34
@ultrarunner

Ich habe einen Punkt verwendet und S11 ist als Double deklariert. Es kommt trotzdem nicht das gewünschte Ergebnis raus.. :(

0
Suboptimierer  20.04.2015, 13:05
@ultrarunner

Falls ein Komma als Dezimaltrennzeichen verwendet wird, kann man mit CDbl einen Text in eine Double umwandeln.

1

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?


AquaMedium 
Beitragsersteller
 20.04.2015, 12:18

String

0
TUrabbIT  20.04.2015, 12:20
@AquaMedium

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.

0
AquaMedium 
Beitragsersteller
 20.04.2015, 12:26
@TUrabbIT

Ich muss es leider als String deklarieren, da sonst andere Sachen nicht mehr klappen.

0

Bitte poste mal deinen Code und erklär genauer wie und welche Art von Werten reinkommen sowie wie und wofür du diese nutzt.