Форматирование целого числа из “12345678” в “12 345 678”

188
27 октября 2017, 11:07

Как сделать форматирование числа из "12345678" в "12 345 678". То есть нужно каждую 1000 отделить пробелом, что бы большие числа выглядели эстетично.

Answer 1

Попробуйте так:

NumberFormat f = NumberFormat.getInstance();
int i = 12345678;
System.out.println(f.format(i)); // 12 345 678

P.S. Как здесь справедливо заметили, итоговый результат будет зависеть от текущей локали. Для того, чтобы не зависело, нужно указать конкретную локаль:

NumberFormat f = NumberFormat.getInstance(new Locale("ru", "RU"));

Список локалей и представления чисел в этих локалях можно посмотреть здесь

Answer 2

Ещё один способ, без создания лишних объектов:

String.format(Locale.CANADA_FRENCH, "%,d", 1234567890);

Результат

1 234 567 890

READ ALSO
Как ускорить запись в SQLite БД?

Как ускорить запись в SQLite БД?

Сейчас я записываю вот так:

247
java.lang.NoSuchMethodError: java.lang.Process.waitFor

java.lang.NoSuchMethodError: java.lang.Process.waitFor

Собственно вот такой код

239
Динамически меняющееся содержимое ExpandableListView

Динамически меняющееся содержимое ExpandableListView

Есть такой код, из которого формируется ExpandableListView:

243
NullPointerException в preparedStatment

NullPointerException в preparedStatment

При добавлении в базу, в с строке preparedStatment = connectionprepareStatement(ADD_USER); ошибка nullPointer как исправить ?

295