Бесплатный вебинар
«как найти любимую работу»
Подарки на 150 000 ₽ за участие
Живой эфир
Записи не будет!
00:00:00:00
дн.ч.мин.сек.

Дополнение строки нулями слева в Java: форматирование до 10 символов

Быстрый ответ

Если вам необходимо дополнить строку нулями, воспользуйтесь методом String.format():

Java
Скопировать код
String str = "секретный рецепт пирогов"; // Исходная строка
int n = 20; // Желаемая общая длина строки
String result = String.format("%0" + n + "d", Integer.parseInt(str));

Здесь n указывает на длину результата, а str — это ваша строка, которая должна быть в числовом формате.

Если же ваша строка не представляет собой числовые данные, то связка методов String.format() и .replace() справится с данной задачей:

Java
Скопировать код
String result = String.format("%10s", str).replace(' ', '0');

А в случае, когда потребуется больший контроль в виду наличия специальных символов, лучшим выбором станет класс StringBuilder:

Java
Скопировать код
StringBuilder sb = new StringBuilder();
while (sb.length() + str.length() < n) {
    sb.append('0');
}
sb.append(str);
String result = sb.toString(); // Полученный результат
Кинга Идем в IT: пошаговый план для смены профессии

Продвинутые приёмы для ниндзя-кодера

Как выбрать свой путь

Определите, что вам требуется:

Для числовых строк используйте String.format() с форматом "%0Nd". Это простой и эффективный метод.

Если работаете со строками, которые включают буквы, примените StringUtils.leftPad(input, length, '0') или же воспользуйтесь StringBuilder. Это особенно актуально для мультиязычных текстов или при использовании сторонних библиотек.

Подробнее об этом расскажет наш спикер на видео
skypro youtube speaker

Для неожиданного гостя

Не уверены в том, что строка содержит числовые данные? Чтобы избежать ошибок при преобразовании используйте этот подход:

Java
Скопировать код
String padding = "0".repeat(n – str.length());
String result = padding + str;

Этот метод подойдёт для Java 11+, в которой доступен метод String.repeat().

Для удобства работы с двоичным кодом

Дополнить двоичное число нулями нужно? Воспользуйтесь следующим кодом:

Java
Скопировать код
String binaryString = String.format("%0" + n + "s", Integer.toBinaryString(number)).replace(' ', '0');

Визуализация (и немного веселья 😉)

Вспомните, как выглядят цифровые часы: каждое число в них имеет две цифры:

Markdown
Скопировать код
Когда ночь ещё молодая, время выглядит так:
До:  5:3:7
После:  05:03:07

Чтобы получить такой же эффект на Java, используйте:

Java
Скопировать код
String.format("%0Nd", number);

Где N — это целевая длина.

И ещё одна иллюстрация для вдохновения:

Markdown
Скопировать код
Опаздывая на автобус!
Номер перед посадкой:      □□□
Ваш номер: _9_
Номер после посадки:  009  // Вот это да! Какой сервис!

Полезные материалы

  1. Примеры форматирования строк на Java: DZone — изучите искусство дополнения строк нулями.
  2. Formatter: JavaDocs — вдохновитесь документацией Java по форматированию строк.
  3. StringUtils: Apache — познакомьтесь с утилитой StringUtils.leftPad().
  4. String: JDKString.repeat() станет вашим спутником, начиная с Java 11.
  5. Обучение форматированию чисел — бесплатный курс по форматированию чисел в Java.
  6. Форматы Log4j — техники дополнения нулями в лог-записях для профессионалов.
Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Какой метод используется для дополнения строки нулями в Java?
1 / 5