String format EngishLocale

225
06 апреля 2018, 19:38

Почему если в String.formant() передать Locale.ENGLISH, дробные числа выдает с точкой, а с другой локалью выдает с запятой?

String.format(Locale.ENGLISH, "%.5f", 62.23);
Answer 1

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

Об использоании локалей в Java имеется статья на сайте Oracle, где в таблице 1 показаны примеры чисел с применением разных локалей: http://www.oracle.com/us/technologies/java/locale-140624.html

Сооответственно, вы можете использовать конкретную локаль для вывода чисел в том формате, в каком нужно вам, либо не передавать локаль и будут использованы текущие настройки операционной системы.

READ ALSO
Надо ли удалять объект Runnable()?

Надо ли удалять объект Runnable()?

Есть метод с кодом

223
Spring-Integration and Threads. TaskExecutor

Spring-Integration and Threads. TaskExecutor

Заполняю очередь 10-ю сообщениями, начинаю их считывать 10-ю потокамиВ идеале эти 10 сообщений я и должен получить обратно, но вместо этого получаю...

295
java интеграция с ip телефонией

java интеграция с ip телефонией

Разрабатываем проект с использованием Spring bootТребуется реализовать интеграция с IP телефонией, чтобы оператор мог звонить клиенту и наоборот

210
В чём отличие LIst<? extends NameClass>, перед List<NameClass>

В чём отличие LIst<? extends NameClass>, перед List<NameClass>

В чём отличие (1) List<? extends NameClass>, перед (2) List<NameClass>?

224