Die Operatorenüberladen hatte ich ü-ber-haupt-nicht auf dem Schirm
Das wäre der geeignete Workarund.
Wobei -zumindest aus meiner Erfahrung her- immernoch die blöden, teilweise unmotivierten Rundungen kommen.
Ich würde Currency für eine Währung nehmen und jede Umrechnung (Steuer, Abschlag, Währung etc.) über eine wohldefinierte Funktion abbilden. Denn diese sind bis auf den Cent definiert und über Unittests abbildbar.
Aber egal. Das Thema ist durch.