LINUX.ORG.RU

[java] DecimalFormat пробел в качестве разделителя

 


0

2

Здравствуйте!
Такой вопрос: форматирую числа. Как сделать, чтобы числа делились по 3 символа с пробелом в качестве разделителя?
Пример: 1234567 -> 1 234 567
Сейчас делаю так:

DecimalFormat decimal_formatter = new DecimalFormat("");
DecimalFormatSymbols custom = new DecimalFormatSymbols();
custom.setDecimalSeparator(' ');
decimal_formatter.setDecimalFormatSymbols(custom);
decimal_formatter.setGroupingSize(3);
Как указать пробел в качестве разделителя?

★★★★★
Ответ на: комментарий от Amp

Точно, спасибо! А чем он от DecimalSeparator отличается? И почему для DecimalSeparator пробел не работает, а для GroupingSeparator работает?

kovrik ★★★★★
() автор топика

Надо было

custom.setGroupingSeparator...

Ian ★★
()
Ответ на: комментарий от kovrik

Если честно, то не знаю...

В документации написано, что DecimalFormat создает для себя DecimalFormatSymbols на основе локали и если ты хочешь там что-то изменить, то тебе надо не новый создавать. а взять уже созданный:

decimal_formatter.getDecimalFormatSymbols().setDecimalSeparator(' ');

Ian ★★
()

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

kalenkov
()
Ответ на: комментарий от kalenkov

Оно похоже не работает или работает нетривиально.

Я попробовал посетить разными способами decimal separator, но результат не менялся и все время был ",".

Ian ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.