Kennt sich jemand gut mit Visual Basic aus und kann vielleicht helfen?

... komplette Frage anzeigen

2 Antworten

Du hast "a" als Integer deklariert und weist "a" eine Gleitkommazahl zu. Dadurch enthält "a" tatsächlich nur eine 2 und keine 2,4. Das wiederrum hat zur Folge, dass deine Formel

9 >= 8

lautet. Das ergibt dann natürlich "True".

PS: Ich empfehle "Option Strict" auf On zu stellen. damit wird das implizierte Konvertieren von Datentypen erzwungen. Das minimiert solche ungewollten Verhaltensweisen.

Antwort bewerten Vielen Dank für Deine Bewertung
If (x-y) >= (z*a) then
        Msgbox "True"
Else
        Msgbox "False"
End if



Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von koebesbloomi
31.07.2016, 18:24

Ich will das ohne Schleife schreiben. Die einzige Möglichkeit, die mich zum richtigen Ergebnis bringt ist, wenn ich noch eine weitere Variable als Boolean deklariere, dann in dieser Variable die Formel rein schreibe und dann das Label nur den Wert dieser Variable ausgeben lasse also:

Dim m As Boolean

m= 12-3 >= 4*2,5

lblAnzeige.Text = m

Dann funktionierts. Ich will aber wissen warum das ohne die Variable m nicht funktioniert.

0

Was möchtest Du wissen?