Objective-C Language
Format-specifice
Sök…
Introduktion
Formatspecifikatorer används i Objekt-c för att implantera objektvärden i en sträng.
Syntax
- % @ // Sträng
- % d // Signerat 32-bitars heltal
- % D // Signerat 32-bitars heltal
- % u // Osignerad 32-bitars heltal
- % U // Osignerad 32-bitars heltal
- % x // Osignerad 32-bitars heltal i små bokstäver i hexadecimalt format
- % X // Osignerat 32-bitars heltal i UPPERCASE hexadecimalt format
- % o // Osignerad 32-bitars heltal i oktalt format
- % O // Osignerad 32-bitars heltal i oktalt format
- % f // 64-bitars flytpunktsnummer
- % F // 64-bitars flytpunktsnummer tryckt i decimalnotation
- % e // 64-bitars flytande punktnummer i små vetenskapliga notationsformat
- % E // 64-bitars flytpunktsnummer i UPPERCASE vetenskapligt notationsformat
- % g // specialfall% e som använder% f när mindre än 4 sig-figs är tillgängliga, annars% e
- % G // specialfall% E som använder% f när mindre än 4 sig-figs är tillgängliga, annars% E
- % c // 8-bitars osignerat tecken
- % C // 16-bitars UTF-16-kodenhet
- % s // UTF8 String
- % S // 16-bitars variant av% s
- % p // Void Pointer i små, hexidecmial format med ledande '0x'
- % zx // specialfall% p som tar bort ledande '0x' (för användning utan rollspel)
- % ett // 64-bitars flytpunktsnummer i vetenskaplig notation med ledande '0x' och en hexadecimal siffra före decimalpunkten med en 'p' för att notera exponenten.
- % Ett // 64-bitars flytpunktsnummer i vetenskaplig notation med ledande '0x' och en hexadecimal siffra före decimalpunkten med en 'P' för att notera exponenten.
Anmärkningar
På grund av typen av formatspecifikatorer, om du vill inkludera procentsymbolen (%) i din sträng, måste du undgå den med en andra procentsymbol.
Exempel:
int progress = 45;//percent
NSString *progressString = [NSString stringWithFormat:@"Progress: %i%%", (int)progress];
NSLog(progressString);//logs "Progress: 45%"
Det finns ingen formatspecifikation för BOOL-typ.
Vanliga lösningar inkluderar:
BOOL myBool = YES;
NSString *boolState = [NSString stringWithFormat:@"BOOL state: %@", myBool?@"true":@"false"];
NSLog(boolState);//logs "true"
Som använder en ternär operatör för gjutning av en strängekvivalent.
BOOL myBool = YES;
NSString *boolState = [NSString stringWithFormat:@"BOOL state: %i", myBool];
NSLog(boolState);//logs "1" (binary)
Som använder en (int) roll för att implantera en binärekvivalent.
Heltal Exempel -% 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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow