Описание проблемы
Достаточно часто в реализации логики есть необходимость оперировать денежными единицами.
В коде приходится сталкиваться с таким представлениями:
-
значение в типе
String -
значение числом типа -
int,float,double -
значение числом
BigDecimalс разными правилами округления -
отсутствие валюты
-
валюта отдельным полем в
String -
значение и валюта одной строкой в
String
Это приводит к:
-
потери точности после запятой
-
накопление погрешностей при операциях
-
ошибкам округления
