sCResult = Eval(Trim(760.27 + 64.56 = 824.83))
Select Case sCResult
Case False
MsgBox("This is False ")
Case True
MsgBox("This is True ")
Case Else
MsgBox("This is Error ")
End Select
Odpowiedzi:
2 dla odpowiedzi № 1Twoje równanie nie zwraca wartości true, ponieważelementami równania są liczby zmiennoprzecinkowe, których nie można dokładnie przedstawić. 760.27 można przekonwertować na 760.270000000001 po zapisaniu w rejestrze zmiennoprzecinkowym.
Właśnie dlatego 760.27 + 64.56 = 824,83 jest fałszem.
Niektóre wartości zmiennoprzecinkowe można przedstawić dokładnie tak, jak 0,5 lub 0,25.
Właśnie dlatego 760.75 + 64,75 = 825,5 jest prawdą.
Możesz przeliczyć swoje liczby na wariant waluty podtypu, a twoje równanie będzie prawdziwe:
CCur (760.27) + CCur (64.56) = CCur (824,83)