Addieren von Kommazahlen bei Textboxen

HdW

Grünschnabel
Hi Leute!

ich hab nen taschenrechner, der gut funkt, aber bei der addition von kommazahlen stimmen die ergebnisse nicht ... z.B. 1 + 0,25 = 1

woran liegt das? hier der code, der dafür wichtig ist:

grüße
HdW

Private Sub cmdPlus_Click(Index As Integer)
zahl1 = CDbl(txtAusgabe.Text)
vorzeichen = "+"
txtAusgabe.Text = ""
End Sub

Private Sub cmdErgebnis_Click(Index As Integer)
zahl2 = CDbl(txtAusgabe.Text)
Select Case vorzeichen
Case "+"
txtAusgabe.Text = zahl1 + zahl2
Case "-"
txtAusgabe.Text = zahl1 - zahl2
Case "*"
txtAusgabe.Text = zahl1 * zahl2
Case "/"
txtAusgabe.Text = zahl1 / zahl2
Case "mod"
txtAusgabe.Text = zahl1 Mod zahl2
Case "\"
txtAusgabe.Text = zahl1 \ zahl2
End Select
End Sub
 
Zuletzt bearbeitet:
Moin HdW

mal ne Frage: Wie sind die Variablen zahl1 und zahl2 declariert (double, integer, ....)

ein fragendes Orakel
 
als long

mein lehrer wusste auch nich mehr weiter :) der hat uns nämlich die aufgabe gestellt *lach*
 
Wenn du die Variablen für die Ergebnisse als Long deklarierst, dann kann das Ergebnis gar keine Kommastellen enthalten. Der Typ Long kann nur ganze Zahlen speichern. Wenn du Zahl1 und Zahl2 als Double deklarierst, wird der Taschenrechner höchstwarscheinlich funktionieren.
 
also nur so als Frage....
Das hört sich relativ nach nem einfachein Taschenrechner System an. Warum meinte dein Lehrer überhaupt Long...?
mach braucht das nur für extrem lange Zahlen(größer als 4 byte) soweit ich weiß.
Integer hätte eh besser gepasst. Aber Integer, Short und auch Long können nur ganze Zahlen in einem Wertebereich anzeigen und runden automatisch. das ist der grund, warum dein taschenrechner nicht funktioniert.
Versuch es mal mit Double oder Float(ich weiß nicht ob es das auch bei VB gibt, tut es zumindest in C++^^), dann sollte dein taschenrechner eigentlich gehen!

Grüße
Rift

EDIT: Na dolle...da schreibt man mal was und will tumklugsceißern und dann kommten einen ein gewisser VB-Crack(aka Shake) zuvor... naja, nächstesmal ;-]
 
Zurück