Один из распространенных методов - использовать целые числа и самостоятельно отслеживать десятичные дроби.
Например, вы можете решить, что вся сумма вашей валюты будет представлена с точностью до 3 десятичных знаков. Поэтому вместо того, чтобы писать:
double dollars = 10.05d;
Вы пишете
int dollars = 10050;
и когда вы хотите напечатать сумму:
System.out.println( dollars/100d );