Мне интересно, можно ли, используя метод String.format в Java, дать целое число перед нулями?
Например:
1 станет 001
2 станет 002
...
11 станет 011
12 станет 012
...
526 останется как 526
... и т. Д.
На данный момент я пробовал следующий код:
String imageName = "_%3d" + "_%s";
for( int i = 0; i < 1000; i++ ){
System.out.println( String.format( imageName, i, "foo" ) );
}
К сожалению, перед числом стоит 3 пустых места. Можно ли вместо этого ставить нули перед числом?
java
string-formatting
number-formatting
Моя голова болит
источник
источник
Ответы:
Используйте
%03d
в описателе формата целого числа. Это0
означает, что число будет заполнено нулями, если оно меньше трех (в данном случае) цифр.См.
Formatter
Документацию для других модификаторов.источник
См.
java.util.Formatter
Дополнительную информацию.источник
Если вы используете стороннюю библиотеку под названием apache commons-lang, может оказаться полезным следующее решение:
Используйте
StringUtils
класс apache commons-lang :Как
StringUtils.leftPad()
быстрее, чемString.format()
источник