merkwürdige subtraktion

hai,

7.4 - 7 = 0.4 natürlich
aber:
(kein DIM)
x1=7.4
x2=7

y=x1-x2
das ergibt nicht y=0.4 sondern
y=0.3900000456 oder so ähnlich
die vba-zeile y=7.4-7 ergibt aber y=0.4

ich weiss, verschiedene zahlenformate (die vba hier wohl von sich aus vergibt) machen probleme, aber DAS HIER das finde ich nicht sehr lustig

was soll das bzw. wie stellt man das ein?

danke, bs

Hi.
Bei y = 7.4 - 7 wird wohl direkt beim Erstellen des Programms das Ergebnis ausgerechnet, da es ja nur mit Konstanten berechnet wird.
Bei der anderen Variante wird es zur Laufzeit berechnet, wo scheinbar mit einer anderen Genauigkeit gerechnet wird, da ja nicht nur Literale beteiligt sind, sondern zwei Variablen voneinander subtrahiert werden.
CU,
Sebastian.

ja gut
aber wie stell ich das ab - bzw. wie kann ich variablen vom typ variant für subtraktionen benutzen, das muß doch gehen. so wies jetzt ist NERVT es übel!

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

ja gut
aber wie stell ich das ab - bzw. wie kann ich variablen vom
typ variant für subtraktionen benutzen, das muß doch gehen. so
wies jetzt ist NERVT es übel!

Wieso möchtest Du denn unbedingt Variant verwednen? Dies ist eh nicht sauber programmiert, da Du nie genau weisst, was für ein Datentyp sich hinter den Variabeln verbirgt…

Versuch es mal mit

y = csng(x1) - csng(x2)

evtl. klappt es ja auch so.

ich will ja garnicht unbedingt VARIANT verwenden, aber das problem tritt selbst bei INTEGER auf!
bs

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

mit Integer gibt 7.4 - 7 eh eine Ganzzahl…