java как проверить, имеет ли double конечный ноль, подобный 9.0, и если да, то удалить ноль

#java #string #double

#java #строка #double

Вопрос:

У меня разные размеры файлов, и мне нужно создать удобный для пользователя вывод.

Размер double равен 0,5 МБ, 2,1 МБ.
Иногда я получаю 2,0 МБ, потому что я использую:

 Double line = (double) size/(double)(1024*1024);
DecimalFormat dec = new DecimalFormat("0.0");
String result = dec.format(line);
  

Я хочу удалить ноль из приведенного выше, если result==2.0
Думаю, мне нужно создать новое Double или, может быть, сделать строку аритмичной
, какие-либо предложения?

Комментарии:

1. Ознакомьтесь с регулярными выражениями.

2. Почему вы сначала преобразуете его в строку, используя это 0, а затем хотите удалить его? Возможно, вам следует выбрать другой десятичный формат.

3. Вы хотите, чтобы оно отображало 2 МБ тогда и только тогда, когда это ровно 2 МБ? Или вы хотите, чтобы отображалось «2 МБ», если это 2,018 МБ?

4. да, я хочу отключить 2 МБ тогда и только тогда, когда это ровно 2 МБ? и 2,12 МБ, если оно равно 2,12

Ответ №1:

Попробуйте new DecimalFormat("0.#") .