Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

String.format()

Собирает строку по шаблону с подстановками вроде %s и %d.

Доступно с: Java 5

Синтаксис

static String format(String format, Object... args)

Параметры

ПараметрТипОписание
formatStringШаблон: %s — строка, %d — целое, %f — дробное, %n — перевод строки.
argsObject...Значения для подстановки по порядку.

Возвращаемое значение

StringГотовая строка.

Примеры

Основные подстановки:

void main() {
    String s = String.format("%s is %d years old", "Anna", 30);
    IO.println(s);
}

Результат:

Anna is 30 years old

Дробные числа: %.2f округляет до двух знаков, а локаль задаёт разделитель:

void main() {
    IO.println(String.format(Locale.ROOT, "Price: %.2f", 9.5));
    IO.println(String.format(Locale.GERMANY, "Price: %.2f", 9.5));
    IO.println(String.format(Locale.ROOT, "%,d", 1234567));
}

Результат:

Price: 9.50
Price: 9,50
1,234,567

Ширина поля и выравнивание — таблица:

void main() {
    IO.println(String.format("%-8s|%6d|", "apples", 12));
    IO.println(String.format("%-8s|%6d|", "kiwi", 150));
    IO.println(String.format("%05d", 42));
}

Результат:

apples  |    12|
kiwi    |   150|
00042

Примечания

Частые шаблоны: %.2f — два знака после точки, %10s — ширина 10 с выравниванием вправо, %-10s — влево, %,d — разделители тысяч, %x — шестнадцатеричное, %% — сам знак процента.

Без аргумента-локали разделитель дробной части берётся из языка системы: на компьютере с русским языком %.2f даст 9,50. Чтобы всегда была точка, передайте Locale.ROOT первым аргументом. Если тип не подходит к шаблону (%d для строки), будет IllegalFormatConversionException.

См. также

  • String.formatted() — Подставляет значения в саму строку как в шаблон — короткая форма String.format().
  • System.out.printf() — Выводит строку по шаблону с подстановками %s, %d, %.2f.
  • NumberFormat — Форматирует числа, деньги и проценты по правилам выбранной страны.

Вопросы и ответы по теме

В учебнике

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.