Objective-C Language
Format-Specifiers
Ricerca…
introduzione
Gli specificatori di formato sono usati in Objective-c per impiantare valori-oggetto in una stringa.
Sintassi
- % @ // String
- % d // Numero intero a 32 bit con segno
- % D // Numero intero a 32 bit con segno
- % u // Numero intero a 32 bit senza segno
- % U // Numero intero a 32 bit senza segno
- % x // Numero intero a 32 bit senza segno in formato esadecimale minuscolo
- % X // Numero intero a 32 bit senza segno nel formato esadecimale MAIUSCOLO
- % o // Numero intero a 32 bit senza segno in formato ottale
- % O // Numero intero a 32 bit senza segno in formato ottale
- % f // Numero a virgola mobile a 64 bit
- % F // Numero a virgola mobile a 64 bit stampato in notazione decimale
- % e // Numero a virgola mobile a 64 bit in formato di notazione scientifica in minuscolo
- % E // Numero a virgola mobile a 64 bit nel formato di notazione scientifica UPPERCASE
- % g // caso speciale% e che utilizza% f quando sono disponibili meno di 4 sig-fichi, altrimenti% e
- % G // caso speciale% E che utilizza% f quando sono disponibili meno di 4 sig-fichi, altrimenti% E
- % c // carattere senza segno a 8 bit
- % C // unità di codice UTF-16 a 16 bit
- % s // Stringa UTF8
- % S // variante a 16 bit di% s
- % p // Puntatore del vuoto in formato esadecimale in minuscolo con "0x" iniziale
- % zx // caso speciale% p che rimuove il principale '0x' (da utilizzare con il cast senza caratteri)
- % a // Numero a virgola mobile a 64 bit in notazione scientifica con iniziale '0x' e una cifra esadecimale prima del punto decimale utilizzando una 'p' per annotare l'esponente.
- % A // Numero a virgola mobile a 64 bit in notazione scientifica con iniziale '0x' e una cifra esadecimale prima del punto decimale usando una 'P' per annotare l'esponente.
Osservazioni
A causa della natura degli specificatori di formato, se si desidera includere il simbolo percentuale (%) nella stringa, è necessario sfuggire utilizzando un secondo simbolo percentuale.
Esempio:
int progress = 45;//percent
NSString *progressString = [NSString stringWithFormat:@"Progress: %i%%", (int)progress];
NSLog(progressString);//logs "Progress: 45%"
Non esiste alcun specificatore di formato per tipo BOOL.
Le soluzioni di uso comune includono:
BOOL myBool = YES;
NSString *boolState = [NSString stringWithFormat:@"BOOL state: %@", myBool?@"true":@"false"];
NSLog(boolState);//logs "true"
Che utilizza un operatore ternario per trasmettere un equivalente di stringa.
BOOL myBool = YES;
NSString *boolState = [NSString stringWithFormat:@"BOOL state: %i", myBool];
NSLog(boolState);//logs "1" (binary)
Che utilizza un cast (int) per l'impianto di un equivalente binario.
Esempio intero:% 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow