Только с четырьмя десятичными цифрами, либо float, либо double должны работать. (Похоже, единственное требование - «хранить значение» в переменной.)
Типы IEEE с плавающей запятой представляют собой приближение десятичного значения. Если вам нужно точное десятичное представление, то класс Java BigDecimal
может быть лучшим выбором.
Опять же, если единственным требованием является сохранение значения в переменной, то я не думаю, что имеет значение, какой тип данных вы используете. Мы могли бы даже сохранить значение в виде строки.
Тип данных имеет значение только в том случае, если код собирается сделать что-то еще со значением.