печать int с указанным числом цифр - PullRequest
0 голосов
/ 22 октября 2010

Я пытаюсь распечатать 5-значный номер следующим образом:

int rdmNr = arc4random()%100000;
NSLog(@"%i",rdmNr);

Я всегда хотел бы иметь 5-значный номер.Пример вывода должен быть:

00001
10544
00555
78801

Но с предыдущим кодом я бы также получил 1 или 555 без 0.Я также пробовал% 5i, но я просто получаю больше пробелов.

Ответы [ 3 ]

11 голосов
/ 22 октября 2010

попробуй

NSLog(@"%05i",rdmNr);

Как правило, вы можете указать 2 типа заполнения для NSLog - заполнение необходимых дополнительных символов пробелами (@"%5i") или начальными нулями (@"%05i")

6 голосов
/ 22 октября 2010
NSLog(@"%05i", rdmNr);

5 означает, что должно быть напечатано 5 символов, 0 означает, что он должен быть дополнен нулями слева.

NSLog принимает те же аргументы, что и printf (см. здесь ) дополнительно %@ печатает строку NSS, более подробную информацию здесь .

0 голосов
/ 22 октября 2010

Вы также можете найти некоторые общие спецификаторы в Заполнители в Википедии

...