Точность - это одно; Округление для отображения совсем другое.
Я думаю, что это неправильно. Вы должны стремиться к максимальной точности и беспокоиться о округлении для отображения после получения результатов.
ОБНОВЛЕНИЕ:
Вы не должны представлять валюту с помощью двойных символов. В прошлый раз, когда я смотрел, C ++ был объектно-ориентированным языком. Вы должны создать абстракцию для денег, которая делает правильные вещи и абстрагирует эти детали от клиентов класса.
Вы можете создать класс Money, который будет управлять частным представлением валюты в центах, если вы работаете в долларах. Все расчеты выполняйте с помощью целых чисел и отрисовывайте в конце.