Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Ein kleines Visual Basic Problem

wfoc / 6 Antworten / Flachansicht Nickles

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

bei Antwort benachrichtigen
T-Rex wfoc „Ein kleines Visual Basic Problem“
Optionen

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.

 GrüßeT-Rex 
bei Antwort benachrichtigen