Почему DecimalFormat отображает ▯ вместо запятых? - PullRequest
0 голосов
/ 15 апреля 2020

Я разрабатываю плагин для сервера Minecraft и хотел использовать DecimalFormat для хорошего отображения.

НО, с таким кодом:

DecimalFormat df = new DecimalFormat("#,###,###,###.##");
p.sendMessage(df.format(amount));

Он отображает подобные вещи : 10 450,53 вместо 10 450,23

Почему ?? Если у вас есть идеи, не стесняйтесь.

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

DecimalFormat имеет Форматирование с учетом локали .

Возможно, что система, на которой вы запускаете сервер Minecraft, находится в другой локали.

Если вы хотите получить DecimalFormat для другого языкового стандарта (например, стандартного языкового стандарта Engli sh), сделайте это следующим образом:

NumberFormat nf = NumberFormat.getNumberInstance(Locale.ENGLISH);
DecimalFormat df = (DecimalFormat) nf;
df.applyPattern("#,###,###,###.##");
p.sendMessage(df.format(amount));

Вы также можете изменить языковой стандарт для экземпляра JVM, поэтому вам не придется менять языковой стандарт на ENGLI SH каждый раз:

Locale.setDefault(Locale.ENGLISH);

Будьте осторожны с этим, хотя.

0 голосов
/ 15 апреля 2020

Я проверил точный код, который вы посылаете, и он отлично сработал Я действительно не знаю, где проблема? Попробуйте использовать стандартный пакет текстур Minecraft.

...