Дополнение числа ведущими нулями на Java

Всегда хотелось найти быстрый и короткий способ дополнить число ведущими нулями. Например, часто возникает необходимость вывести последовательность 1,2,3,...,10 в таком виде: 01,02,03,...,10. И сегодня я нашел здесь такой способ. Рассмотрим, этот способ на примере следующей задачи: выведем все числа от 1 до 100, дополнив числа до длины равной трем, т.е. 001,002,003,...,099,100.
public class LeadingZero {
	public static void main(String[] args) {
		for (int i = 1; i <= 100; i++) {
			System.out.println(zero("" + i));
		}
	}
	static String zero(String value){
		return ("000" + value).substring(value.length());
	}
}
"000" - это шаблон, который мы присоединяем спереди к цифрам числа, но т.к. шаблон уже содержим максимальное кол-во символов, то мы должны проигнорировать первые нули в кол-ве равному избытку, т.е. кол-ву символов в исходном числе, и тогда мы получим искомое число с ведущими нулями заданной длины. Со своей задачей прекрасно справляется функция substring, которая берет часть строки от заданной позиции и до конца строки. leading_zero_illustration Также необходимо учитывать, что число может выйти за пределы шаблона. Вывод программы будет следующим:
001
002
003
...
009
010
011
...
098
099
100

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.