Objective-C Language
Specyfikatory formatu
Szukaj…
Wprowadzenie
Specyfikatory formatu są używane w Objective-c do wszczepiania wartości obiektów do łańcucha.
Składnia
- %@ //Strunowy
- % d // 32-bitowa liczba całkowita ze znakiem
- % D // 32-bitowa liczba całkowita ze znakiem
- % u // 32-bitowa liczba całkowita bez znaku
- % U // Niepodpisana 32-bitowa liczba całkowita
- % x // Niepodpisana 32-bitowa liczba całkowita w formacie szesnastkowym pisanym małymi literami
- % X // Niepodpisana 32-bitowa liczba całkowita w formacie DUŻEJ liczby szesnastkowej
- % o // Niepodpisana 32-bitowa liczba całkowita w formacie ósemkowym
- % O // 32-bitowa liczba całkowita bez znaku w formacie ósemkowym
- % f // 64-bitowa liczba zmiennoprzecinkowa
- % F // 64-bitowa liczba zmiennoprzecinkowa drukowana w notacji dziesiętnej
- % e // 64-bitowa liczba zmiennoprzecinkowa w formacie małej litery zapisu naukowego
- % E // 64-bitowa liczba zmiennoprzecinkowa w NAZWISKOWYM formacie notacji naukowej
- % g // przypadek specjalny% e, który używa% f, gdy dostępnych jest mniej niż 4 figi, w przeciwnym razie% e
- % G // przypadek specjalny% E, który używa% f, gdy dostępnych jest mniej niż 4 figi, w przeciwnym razie% E
- % c // 8-bitowy znak bez znaku
- % C // 16-bitowa jednostka kodu UTF-16
- % s // ciąg UTF8
- % S // 16-bitowy wariant% s
- % p // Wskaźnik pustki w formacie szesnastkowym z małymi literami z wiodącym „0x”
- % zx // special case% p, który usuwa wiodące „0x” (do użycia z rzutowaniem bez typu)
- % a // 64-bitowa liczba zmiennoprzecinkowa w notacji naukowej z wiodącym „0x” i jedną cyfrą szesnastkową przed przecinkiem za pomocą „p” do zanotowania wykładnika wykładniczego.
- % A // 64-bitowa liczba zmiennoprzecinkowa w notacji naukowej z wiodącym „0x” i jedną cyfrą szesnastkową przed przecinkiem za pomocą „P” do zanotowania wykładnika wykładniczego.
Uwagi
Ze względu na charakter specyfikatorów formatu, jeśli chcesz dołączyć symbol procentowy (%) do swojego ciągu, musisz uciec przed nim, używając drugiego symbolu procentowego.
Przykład:
int progress = 45;//percent
NSString *progressString = [NSString stringWithFormat:@"Progress: %i%%", (int)progress];
NSLog(progressString);//logs "Progress: 45%"
Nie istnieje specyfikator formatu dla typu BOOL.
Typowe rozwiązania obejmują:
BOOL myBool = YES;
NSString *boolState = [NSString stringWithFormat:@"BOOL state: %@", myBool?@"true":@"false"];
NSLog(boolState);//logs "true"
Który wykorzystuje operator trójskładnikowy do rzutowania ekwiwalentu łańcucha.
BOOL myBool = YES;
NSString *boolState = [NSString stringWithFormat:@"BOOL state: %i", myBool];
NSLog(boolState);//logs "1" (binary)
Który wykorzystuje rzutowanie (int) do wszczepienia binarnego odpowiednika.
Przykład liczby całkowitej -% i
int highScore = 57;
NSString *scoreBoard = [NSString stringWithFormat:@"HighScore: %i", (int)highScore];
NSLog(scoreBoard);//logs "HighScore: 57"
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow