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