Habe noch nicht viel Programmiererfahrung. Schon das untenstehende Beispiel überfordert mich ein wenig.
Es ist ein sehr einfaches Programm mit den Textfelder txt1, text2, text3.
In text3 soll der Benutzer die Summe von text1 und text2 eintragen.
Es klappt durchaus bei einigen Aufgaben, aber bei Kommazahlen erfolgt manchmal die Meldung "Falsch", obwohl das richtige Ergbnis eingegeben wurde!!!!
Wäre sehr dankbar für einen Tipp, was an dem Code falsch ist!
Option Explicit
Dim a As Single
Dim b As Single
Dim c As Single
Private Sub Form_Load()
Call NeueAufgabe
End Sub
Private Sub NeueAufgabe()
a = Int(Rnd * 100) / 100
b = Int(Rnd * 100) / 10
Text1.Text = a
Text2.Text = b
End Sub
Private Sub Command2_Click()
c = Text3.Text
If c = a + b Then
MsgBox "Richtig"
Call NeueAufgabe
Else
MsgBox "Falsch"
End If
End Sub
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Das Problem liegt an der internen Darstellung der Fließkommazahlen.
Wandel die Zahlen in Strings um (geht mit CStr), dann vergleiche die entsprechenden Stellen der Zahl (geht mit Left), dann solltest Du das Problem nicht mehr bekommen.
Grüße
T-Rex
PS: Möchtest Du es zuerst selbst versuchen oder brauchst Du direkt ein Beispiel?
PPS:
Hier (ActiveVB.de) wird Dir in der Regel schneller geholfen, da es ein reines VB-Forum ist.