Faça uma string de dois dígitos a partir de um inteiro de um único dígito

91

Como posso ter um inteiro de dois dígitos em uma string, mesmo se o inteiro for menor que 10?

[NSString stringWithFormat:@"%d", 1] //should be @"01"
aneuryzm
fonte

Respostas:

303

Acredito que os especificadores stringWithFormat são os especificadores printf IEEE padrão . Você tentou

[NSString stringWithFormat:@"%02d", 1];
altamente cafeinado
fonte
4
adoro ... 2 anos no iphone e agora eu sei disso ... obrigado companheiro
Izac Mac 15/10/12
25

Use a string de formato %02d. Isso especifica a formatação de um inteiro com largura de campo mínima de 2 caracteres e o preenchimento dos valores formatados com 0 para atender a essa largura. Veja man fprintftodos os detalhes sangrentos dos especificadores de formato.

Se você estiver formatando números para apresentação ao usuário, no entanto, deve usar NSNumberFormatter. Diferentes localidades têm expectativas totalmente diferentes sobre como os números devem ser formatados.

Jeremy W. Sherman
fonte
-2
[NSString stringWithFormat:@"%00.02d", intValue]

Isso me ajuda a converter 1 em 01.

user2357514
fonte