Вопрос-ответ

Double decimal formatting in Java

Двойное десятичное форматирование в Java

У меня возникли некоторые проблемы с форматированием десятичных дробей в double . Если у меня двойное значение, например 4.0, как мне отформатировать десятичные дроби так, чтобы вместо них было 4.00?

Переведено автоматически
Ответ 1

Одним из способов было бы использовать NumberFormat.

NumberFormat formatter = new DecimalFormat("#0.00");     
System.out.println(formatter.format(4.0));

Вывод:

4.00

Ответ 2

В Java 8 вы можете использовать метод format..: -

System.out.format("%.2f", 4.0); // OR

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

  • f используется для floating значения точки..

  • 2 after decimal обозначает количество десятичных разрядов после .

Для большинства версий Java вы можете использовать DecimalFormat: -

    DecimalFormat formatter = new DecimalFormat("#0.00");
double d = 4.0;
System.out.println(formatter.format(d));
Ответ 3

Используйте String.format:

String.format("%.2f", 4.52135);

Согласно документам:


Всегда используется языковой стандарт, возвращаемый Locale.getDefault().


Ответ 4

Используя String.format, вы можете сделать это:

double price = 52000;
String.format("$%,.2f", price);

Обратите внимание на запятую, которая отличает это от ответа @Vincent

Вывод:

$52,000.00

Хорошим ресурсом для форматирования является официальная страница java по этому вопросу

java