Matheaufgabe

Fichmopp

Grünschnabel
Hoi Leude,
meine Frage ist glaube ich sehr simpel, aber dennoch krieg ichs einfach nich hin..

Wenn ich VB beispielsweise den Befehl gebe:

Text1.Text = 20
Text2.Text = 100

Private Sub Command1_Click()
Text3.Text = Text1 + Text2
End Sub

Ergebnis: 20100

Wie krieg ichs hin, dass di beiden Zahlen einfach nur addiert werden???
thx im voraus.. ;)
 
Wenn du die Textboxen einfach miteinander addierst, addierst du praktisch zwei strings miteinander. Aber so müsste es eigentlich gehen:

Text3.Text = Int(Text1.Text) + Int(Text2.Text)

Das geht aber nur wenn der Inhalt der Textbox nur aus Zahlen besteht.

-=Justus=-
 
Genau, aber eigentlich macht man das mit CInt(Text1.Text)

CInt = convert to integer
CDbl = convert to double

Die Überprüfung ob in der Textbox eine Zahl drinsteht kannst du mit IsNumeric() machen.

Hier mal ein Beispielcode für 3 Textboxen und einen Command-Button, die Prozedur kommt in Command1_click

CODE:

If IsNumeric(Text1.Text) = True And IsNumeric(Text2.Text) = True then
Dim ausgabe as Integer
ausgabe = CInt(Text1.Text) + CInt(Text2.Text)
Text1.Text = ausgabe
Else
MsgBox "Einer der beiden Felder enthält keine Zahlen","FEHLER"
EndIf


Gruss Homer
 
Funzt :)

Thx Leude,

Ich krieg immer so Hormonschübe, wenn mal was klappt und grade hatte ich einen. Ich könnt euch drücken ;)
 
zu fichmopp

Du kannst die variable auch einfach als currency deklarieren so geht es auch

Dim wert1 As Currency
Dim wert2 As Currency
wert1 = text.text
wert2 = text2.text
lblErgebnis.Caption = wert1 + wert2
:)
 
Ich würde das einfach mit val(String) machen. Damit nehme ich den numerischen Wert einer Zeichenfolge, egal ob Ganzzahliger oder Gleitkomma-Ausdruck.
 
Zurück