Класс для хранения денег Java - Вопросы по Java

Вопрос Класс для хранения денег Java

Регистрация
2 Апр 2013
Сообщения
104
Репутация
0
Спасибо
1
Монет
0
Знаю, что есть класс BigDecimal в котором можно хранить деньги без потери точности. Но хочу конкретно разобраться при каких действиях float и double теряют точность ( отклоняются от изначального значения или не соответствуют ожидаемому результату). Плюс к вопросу хочу уточнить - есть ли вероятность потери точности, при присвоении переменной double значения. Вот набросал класс для хранения денег gist.github.com/cherniavskyeo/5d1a46931a2ed8bcb8043d3e5616b763 подскажите пожалуйста где может быть потеря точности, меня больше всего смущает метод getAmount(). Главная задача получить обратно ту сумму которую сохранил.
 
Регистрация
3 Май 2013
Сообщения
89
Репутация
0
Спасибо
0
Монет
0
Double вполне достаточен для любых практических операций с деньгами, если они не зимбабвийские. Потеря точности происходит, когда число нельзя представить в виде конечной суммы степеней двойки. Класс посмотрел - не катит этот класс. С какого перепуга он все сразу округляет? Очень часто нужно хранить некие промежуточные расчеты с максимальной точностью, затем произвести какие-то действия с ними, и только потом округлить. Так что забей, Double - наше все.
 
Сверху Снизу