Probier mal das Ganze mit dem Datentyp Currency.
Ich dachte ursprünglich, der Typ wäre explizit für Ausgaben monetärer Art, d.h. fest mit zwei Nachkommastellen gedacht - als ich mir das jetzt mal kurz angeschaut habe, habe ich gesehen, dass ich mich irre
Muss ich mir mal genauer anschauen - Danke für den Tipp!
Vermutlich lässt sich 9.0 nicht exakt im erforderlichen Type (Single, Double, Extended) unterbringen und es wird intern als 8.9999xxx dargestellt.
Das könnte natürlich sein - wäre aber für meinen Anwendungsfall natürlich blöd, da das dann die Rundung wieder verfälscht.
Ich glaube langsam wirklich, ich bleibe bei meinem Hack - der funktioniert nämlich ziemlich gut
(ist aber natürlich wg. der Rumkonvertierererei von und nach String ziemlich langsam - spielt bei mir aber keine große Rolle)