Как отобразить вывод данных плавающих с 2 десятичными разрядами в Java?

Вам необходимо получить объект, который вы передаете в своей модели просмотра.

public CounterViewModel(PersonListViewModel personList)
            {
                PersonList =  personList;

            }
166
задан royhowie 5 November 2014 в 06:56
поделиться

6 ответов

Вы можете использовать метод printf , например:

System.out.printf("%.2f", val);

Короче говоря, %. 2f синтаксис указывает Java вернуть вашу переменную ( val ) с двумя десятичными знаками ( .2 ) в десятичном представлении числа с плавающей запятой ( f ) из начало спецификатора формата (% ).

Есть и другие символы преобразования, которые вы можете использовать помимо f :

  • d : десятичное целое
  • o : восьмеричное целое
  • e : с плавающей точкой- точка в экспоненциальном представлении
229
ответ дан 23 November 2019 в 21:01
поделиться

Можно использовать это, быстрые коды ниже этого изменили себя в конце. Добавьте, сколькими были нули, как относится к после точки

float y1 = 0,123456789;
DecimalFormat df = new DecimalFormat("#.00");  
y1 = Float.valueOf(df.format(y1));

переменная y1, равняется 0,123456789 прежде. После кода это превращается 0,12 только.

2
ответ дан 23 November 2019 в 21:01
поделиться
double d = 1.234567;
DecimalFormat df = new DecimalFormat("#.##");
System.out.print(df.format(d));
37
ответ дан 23 November 2019 в 21:01
поделиться

Многие люди упоминали DecimalFormat. Но вы также можете использовать printf, если у вас свежая версия Java:

System.out.printf("%1.2f", 3.14159D);

Подробнее о строке формата printf смотрите в документации по форматеру.

9
ответ дан 23 November 2019 в 21:01
поделиться

Вы можете использовать DecimalFormat . Один из способов его использования:

DecimalFormat df = new DecimalFormat();
df.setMaximumFractionDigits(2);
System.out.println(df.format(decimalNumber));

Другой - создать его в формате #. ## .

Я считаю, что все параметры форматирования менее удобочитаемы, чем вызов методов форматирования, но это вопрос предпочтений.

168
ответ дан 23 November 2019 в 21:01
поделиться

Посмотрите на DecimalFormat

Вот пример из учебного пособия:

  DecimalFormat myFormatter = new DecimalFormat(pattern);
  String output = myFormatter.format(value);
  System.out.println(value + "  " + pattern + "  " + output);

Если вы выберете шаблон вроде «###. ##», вы получите два десятичных знака, и я думаю, что значения округляются в большую сторону. Вам нужно будет посмотреть ссылку, чтобы получить точный формат, который вам нужен (например, хотите ли вы нули в конце)

6
ответ дан 23 November 2019 в 21:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: