Jak mogę mieć dwucyfrową liczbę całkowitą w ciągu, nawet jeśli jest ona mniejsza niż 10?
[NSString stringWithFormat:@"%d", 1] //should be @"01"
Odpowiedzi:
Uważam, że specyfikatory stringWithFormat są standardowymi specyfikatorami IEEE printf . Czy próbowałeś
[NSString stringWithFormat:@"%02d", 1];
Użyj ciągu formatu %02d
. Określa to formatowanie liczby całkowitej o minimalnej szerokości pola wynoszącej 2 znaki i uzupełnianie sformatowanych wartości o 0, aby osiągnąć tę szerokość. Zobacz man fprintf
wszystkie krwawe szczegóły specyfikatorów formatu.
Jeśli jednak formatujesz liczby do prezentacji użytkownikowi, naprawdę powinieneś używać NSNumberFormatter
. Różne lokalizacje mają bardzo różne oczekiwania dotyczące formatowania liczb.
[NSString stringWithFormat:@"%00.02d", intValue]
To pomogło mi przekonwertować 1 na 01.