Hallo Leute,
habe hier ein rechnerisches Problem in einem VB-Programm. Rein programmtechnisch ist eine Änderung aufwendig, ich müsste einige Programmteile neu schreiben und es handelt sich mittlerweile um ein größeres Projekt.
Dieses Phänomen tritt nur bei einzelnen Zahlen auf, ich weiß nicht, ob man es überhaupt als Rundungs- oder Rechenfehler bezeichnen kann, jedenfalls geht es um ein Modul für das Berechnen von Steueranteilen:
Berechnung des Nettowertes aus Bruttowert und Prozentsatz:
sngNetto = sngBrutto / ((100 + sngMwSt) / 100)
bei 19 % ergibt das bei 697,- Brutto ein Netto von 585,71
(eigentlich also 585,714285 Periode)
Nun ergibt sich eine Veränderung eines schon bestehenden Bruttowertes, wenn er aus Nettowert und Prozentsatz neu errechnet wird:
sngBrutto = (sngNetto * (100 + sngMwSt)) / 100
jetzt kommt 696,99 heraus
(also 696,9946)
Da ich mit kaufmännischer Rundung hier anscheinend nicht weiterkomme, frage ich, ob es vielleicht eine andere Methode gibt, das Problem mathematisch zu lösen. Oder eine Erhöhung der Nachkommastellung + Rundung?
Thx,
UselessUser