Hallo!
Ich habe ein Problem mit dem käufmannischen Runden.Dazu habe ich mir die hier von shima gepostete
Funktion benutzt.
Soweit so gut.
Jetzt ist ein weiteres Problem aufgetreten. Wenn ich folgende Formel berechnen lasse:
Betrag * UstSatz / (100 * UstSatz)
52,83 * 20 / (100 * 20) = 8,805 (kaufm. gerundet = 8,81)
Lasse ich es mit der besagten Funktion Runden (RoundX) kommt da 8,80 heraus.
Habe die Funktion mal zerlegt und stelle fest, dass er bei der int. Funktion Frac bei 880,5 (Wert * 100 wg. 2 Stellen nach dem Komma) statt 0,5 0,4999999999997... ausgibt. Das mal 2 ergibt keine 1. Und somit rundet er bei 5 nicht auf.
Das witzige ist, bei anderen Teilen meines Programms macht er es richtig. Wie ist denn sowas zu erklären?
Danke, für die Tipps!
Stephan