Вопросы к Поиску с Алисой
Типы данных float и double не подходят для хранения денежных сумм, потому что они представляют числа в двоичном формате, а денежные суммы обычно выражаются в десятичной системе счисления. habr.com
Большинство дробных чисел в десятичной системе счисления не имеют точного представления в виде конечной суммы степеней двойки, что приводит к потере точности. habr.com
Например, если нужно сохранить сумму 0,1 доллара, то float или double не смогут сделать это точно. dzone.com Вместо этого они могут сохранить только приближённое значение. dzone.com
Чтобы избежать ошибок, для финансовых расчётов рекомендуется использовать целочисленные типы, например int или long. stackoverflow.com reviewpoint.org