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.