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.