Is there a datatype in Java that stores a decimal number more precisely than a double?
double
Yes, you can use an arbitrary precision class such as BigDecimal.