Monthly Archives: Сентябрь 2015

Дополнение числа ведущими нулями на 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