Перейти к основному содержимому

Используйте точку «.» как десятичный разделитель в Java

· 2 мин. чтения

1. Обзор

В этом коротком уроке мы увидим, как использовать точку «.» в качестве десятичного разделителя при форматировании числового вывода в Java.

2. Используйте метод String.format()

Обычно нам просто нужно использовать метод String.format() как:

double d = 10.01d;
String.format("%.2f", d);

Этот метод использует локаль нашей JVM по умолчанию для выбора десятичного разделителя. Например, для локали США это будет точка , а для ГЕРМАНИИ — запятая.

Если это не точка, мы можем использовать перегруженную версию этого метода, в которой мы передаем наш пользовательский Locale :

String.format(Locale.US, "%.2f", d);

3. Используйте объект DecimalFormat

Мы можем использовать метод format () объекта DecimalFormat для достижения той же цели:

DecimalFormatSymbols decimalFormatSymbols = DecimalFormatSymbols.getInstance();
decimalFormatSymbols.setDecimalSeparator('.');
new DecimalFormat("0.00", decimalFormatSymbols).format(d);

4. Используйте объект форматирования

Мы также можем использовать метод format () объекта Formatter :

new Formatter(Locale.US).format("%.2f", d)

5. Используйте метод Locale.setDefault()

Конечно, мы можем вручную настроить Locale для нашего приложения, но менять Locale по умолчанию не рекомендуется :

Locale.setDefault(Locale.US);
String.format("%.2f", d);

6. Используйте параметры виртуальной машины

Другой способ настроить Locale для нашего приложения — установить параметры виртуальной машины user.language и user.region :

-Duser.language=en -Duser.region=US

7. Используйте метод printf()

Если нам не нужно получать значение отформатированной строки, а просто распечатать ее, мы можем использовать метод printf() :

System.out.printf(Locale.US, "%.2f", d);

8. Заключение

Таким образом, мы изучили различные способы использования точки «.» как десятичный разделитель в Java.