Julian Maicher
Erfahrenes Mitglied
VB6 casted automatisch, dürte also nicht daran liegen.
Ich denke es liegt einfach daran, dass txtAusgabe zunächst leer ist. Also einen leeren String beinhaltet, welchen du zu INT konvertierst. Das geht natürlich nicht.
Aber ohnehin ist es schwachsinn, bei jedem Schleifendurchlauf das Textfeld zu füllen und damit zu rechnen. Da drängt sich eine weitere Hilfsvariable ja geradezu auf. Und dann hast du vermutlich auch nicht mehr das angesprochene Problem.
*EDIT: Zu overflow: Dann rechne nicht mit INT, sondern mit Double oder Long ...
Ich denke es liegt einfach daran, dass txtAusgabe zunächst leer ist. Also einen leeren String beinhaltet, welchen du zu INT konvertierst. Das geht natürlich nicht.
Aber ohnehin ist es schwachsinn, bei jedem Schleifendurchlauf das Textfeld zu füllen und damit zu rechnen. Da drängt sich eine weitere Hilfsvariable ja geradezu auf. Und dann hast du vermutlich auch nicht mehr das angesprochene Problem.
Code:
Dim output As Integer
For m = 0 To 8
If txtEingabe(m).Text = "" Then
txtEingabe(m).Text = 0
End If
output = output + (30 * CInt(txtEingabe(m).Text) * (1.1 ^ CInt(txtEingabe(m).Text)) + 20)
If txtEingabe(m).Text = 0 Then
output = output - 20
End If
Next m
txtAusgabe.Text = output
*EDIT: Zu overflow: Dann rechne nicht mit INT, sondern mit Double oder Long ...
Zuletzt bearbeitet: