Как я могу дополнить целое число нулями слева?
Как вы добавляете слева int нули при преобразовании в a String в Java?
int
String
В основном я хочу дополнить целые числа до 9999 с начальными нулями (например, 1 = 0001).
9999
0001
Переведено автоматически
Ответ 1
Используйте java.lang.String.format(String,Object...) вот так:
java.lang.String.format(String,Object...)
String.format("%05d", yournumber);
для заполнения нулем длиной 5. Для шестнадцатеричного вывода замените d на x как в "%05x".
d
x
"%05x"
Полные параметры форматирования задокументированы как часть java.util.Formatter.
java.util.Formatter
Ответ 2
Допустим, вы хотите напечатать 11 как 011
11
011
Вы могли бы использовать программу форматирования: "%03d".
"%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 .Формат лучше и лаконичнее.