Вопрос-ответ

How can I pad an integer with zeros on the left?

Как я могу дополнить целое число нулями слева?

Как вы добавляете слева int нули при преобразовании в a String в Java?

В основном я хочу дополнить целые числа до 9999 с начальными нулями (например, 1 = 0001).

Переведено автоматически
Ответ 1

Используйте java.lang.String.format(String,Object...) вот так:

String.format("%05d", yournumber);

для заполнения нулем длиной 5. Для шестнадцатеричного вывода замените d на x как в "%05x".

Полные параметры форматирования задокументированы как часть java.util.Formatter.

Ответ 2

Допустим, вы хотите напечатать 11 как 011

Вы могли бы использовать программу форматирования: "%03d".

введите описание изображения здесь

Вы можете использовать этот форматировщик следующим образом:

int a = 11;
String with3digits = String.format("%03d", a);
System.out.println(with3digits);

В качестве альтернативы, некоторые методы java напрямую поддерживают эти форматеры:

System.out.printf("%03d", a);
Ответ 3

Если вы по какой-либо причине используете Java версии до 1.5, то можете попробовать использовать метод Apache Commons Lang

org.apache.commons.lang.StringUtils.leftPad(String str, int size, '0')
Ответ 4

Нашел этот пример... Буду тестировать...

import java.text.DecimalFormat;
class TestingAndQualityAssuranceDepartment
{
public static void main(String [] args)
{
int x=1;
DecimalFormat df = new DecimalFormat("00");
System.out.println(df.format(x));
}
}

Протестировал это и:

String.format("%05d",number);

Оба варианта работают, для моих целей, я думаю, String .Формат лучше и лаконичнее.

java