web-dev-qa-db-fra.com

Format de chaîne, entier avec des zéros non significatifs

J'utilise ce code:

NSString* strName = [NSString stringWithFormat:@"img_00%d.jpg", pp];

et fonctionne bien, mais si pp a pris la valeur de 10 par exemple, je souhaite avoir img_010.jpg comme résultat, et non img_0010.jpg ... comment puis-je formater la chaîne ??

merci

97
ghiboz

Utilisez la chaîne de format "img_%03d.jpg" pour obtenir des nombres décimaux avec trois chiffres et des zéros non significatifs.

246
Gumbo

Pour la postérité: cela fonctionne avec des nombres décimaux.

NSString *nmbrStr = @"0033620340000" ;
NSDecimalNumber *theNum = [[NSDecimalNumber decimalNumberWithString:nmbrStr]decimalNumberByAdding: [NSDecimalNumber one]] ;     
NSString *fmtStr = [NSString stringWithFormat:@"%012.0F",[theNum doubleValue]] ;

Bien que ces informations soient difficiles à trouver, elles sont en fait documentées ici dans le deuxième paragraphe sous Principes de mise en forme. Recherchez le caractère%.

https://developer.Apple.com/library/mac/documentation/Cocoa/Conceptual/Strings/Articles/FormatStrings.html

4
McUsr