Formatieren Sie eine Zeichenfolge, eine Ganzzahl mit führenden Nullen


97

Ich benutze diesen Code:

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

und funktioniert gut, aber wenn pp zum Beispiel den Wert 10 angenommen hat, hätte ich gerne img_010.jpg als Ergebnis und nicht img_0010.jpg ... wie kann ich den String formatieren?

Vielen Dank

Antworten:


249

Verwenden Sie die Formatzeichenfolge "img_%03d.jpg", um Dezimalzahlen mit drei Ziffern und führenden Nullen zu erhalten.


5

Für die Nachwelt: Dies funktioniert mit Dezimalzahlen.

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

Obwohl diese Informationen schwer zu finden sind, werden sie hier im zweiten Absatz unter Formatierungsgrundlagen dokumentiert. Suchen Sie nach dem% -Zeichen.

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


1
Beachten Sie hier, dass sich die "12" in @"%012.0F"auf die Anzahl der Gesamtziffern bezieht, also einschließlich des Dezimalpunkts und aller rechts stehenden Stellen.
— Vieh

Um den Kommentar von bcattle zu ergänzen, enthält dies auch alles auf der rechten Seite . Um -012.34 anzuzeigen, müssten Sie@"%07.2f"
— n_b
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.