2015-02-04 3 views
0

Я должен распечатать строку (например, «01») с нулями слева от номера, так что в общей сложности выдается 6 символов. Например, строка значения «01» должна быть распечатана как «000001».Как распечатать строку с нулевым заполнением?

Я искал способы сделать это, но используя различные формы printf, я смог распечатать его с достаточным количеством интервалов, но пробелы не заняты нулями.

Вот что я пробовал:

String id = "01"; 
System.out.printf("%6s", id); 

Какие выходы:

 1 

Я прочитал, что добавление 0 до 6 и после% должны добавить нули в точках, которые я хочу но они вызывают ошибки во время выполнения.

Спасибо, Тайлер

ответ

1

Преобразование строки в целое, а затем выполнить форматирование.

String id = "01"; 
int i = Integer.parseInt(id); 
System.out.printf("%06d", i); 

Выход:

000001 
+0

Я надеялся, что не нужно преобразовать его из строки из-за того, как я должен использовать его позже, но я предполагаю, что я просто должен работать вокруг этого. Спасибо вам за быстрый ответ. –

Смежные вопросы