Objective-C Language
Spécificateurs de format
Recherche…
Introduction
Les spécificateurs de format sont utilisés dans Objective-c pour implanter des valeurs d'objet dans une chaîne.
Syntaxe
- %@ //Chaîne
- % d // Entier 32 bits signé
- % D // Entier 32 bits signé
- % u // Entier non signé de 32 bits
- % U // Entier non signé de 32 bits
- % x // Entier 32 bits non signé au format hexadécimal minuscule
- % X // Entier 32 bits non signé au format hexadécimal UPPERCASE
- % o // Entier non signé de 32 bits au format octal
- % O // Entier non signé de 32 bits au format octal
- % f // nombre à virgule flottante 64 bits
- % F // nombre à virgule flottante 64 bits imprimé en notation décimale
- % e // Nombre à virgule flottante de 64 bits au format de notation scientifique minuscule
- % E // nombre à virgule flottante 64 bits au format de notation scientifique UPPERCASE
- % g // cas particulier% e qui utilise% f lorsque moins de 4 figures sont disponibles, sinon% e
- % G // cas particulier% E qui utilise% f lorsque moins de 4 figures sont disponibles, sinon% E
- % c // caractère non signé de 8 bits
- % C // Unité de code UTF-16 16 bits
- % s // Chaîne UTF8
- % S // variante de 16 bits de% s
- % p // Pointeur vide en format hexadécimal minuscule avec '0x' en tête
- % zx // cas spécial% p qui supprime le premier '0x' (à utiliser avec la distribution sans type)
- % un nombre à virgule flottante // 64 bits en notation scientifique avec «0x» et un chiffre hexadécimal avant le point décimal à l'aide d'un «p» pour noter l'exposant.
- % Un nombre à virgule flottante // 64 bits en notation scientifique avec «0x» et un chiffre hexadécimal avant le point décimal à l'aide d'un «P» pour noter l'exposant.
Remarques
En raison de la nature des spécificateurs de format, si vous souhaitez inclure le symbole de pourcentage (%) dans votre chaîne, vous devez y échapper en utilisant un deuxième symbole de pourcentage.
Exemple:
int progress = 45;//percent
NSString *progressString = [NSString stringWithFormat:@"Progress: %i%%", (int)progress];
NSLog(progressString);//logs "Progress: 45%"
Aucun spécificateur de format pour le type BOOL n'existe.
Les solutions à usage commun comprennent:
BOOL myBool = YES;
NSString *boolState = [NSString stringWithFormat:@"BOOL state: %@", myBool?@"true":@"false"];
NSLog(boolState);//logs "true"
Qui utilise un opérateur ternaire pour lancer une chaîne équivalente.
BOOL myBool = YES;
NSString *boolState = [NSString stringWithFormat:@"BOOL state: %i", myBool];
NSLog(boolState);//logs "1" (binary)
Qui utilise un moulage (int) pour implanter un équivalent binaire.
Exemple entier -% 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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow