Objective-C LanguageEspecificadores de formato


Introducción

Los Especificadores de formato se utilizan en Objective-c para implantar valores de objeto en una cadena.

Sintaxis

  • %@ //Cuerda
  • % d // Entero de 32 bits firmado
  • % D // Entero de 32 bits firmado
  • % u // Entero de 32 bits sin signo
  • % U // Entero de 32 bits sin signo
  • % x // Entero de 32 bits sin signo en formato hexadecimal en minúsculas
  • % X // Entero de 32 bits sin signo en MAYÚSCULAS en formato hexadecimal
  • % o // Entero de 32 bits sin signo en formato octal
  • % O // Entero de 32 bits sin signo en formato octal
  • % f // número de punto flotante de 64 bits
  • % F // Número de punto flotante de 64 bits impreso en notación decimal
  • % e // número de punto flotante de 64 bits en formato de notación científica en minúsculas
  • % E // número de punto flotante de 64 bits en formato de notación científica MAYÚSCULAS
  • % g // caso especial% e que usa% f cuando hay menos de 4 sig-figs disponibles, de lo contrario% e
  • % G // caso especial% E que usa% f cuando hay menos de 4 sig-figs disponibles, de lo contrario% E
  • % c // carácter sin signo de 8 bits
  • Unidad de código UTF-16 de% C // 16 bits
  • % s // cadena UTF8
  • % S // variante de 16 bits de% s
  • % p // Void Pointer en formato hexadecial en minúsculas con '0x' al principio
  • % zx // caso especial% p que elimina el '0x' inicial (para uso con conversión sin tipo)
  • % a // número de punto flotante de 64 bits en notación científica con '0x' inicial y un dígito hexadecimal antes del punto decimal utilizando una 'p' para indicar el exponente.
  • % A // número de punto flotante de 64 bits en notación científica con '0x' inicial y un dígito hexadecimal antes del punto decimal utilizando una 'P' para indicar el exponente.

Observaciones

Debido a la naturaleza de los especificadores de formato, si desea incluir el símbolo de porcentaje (%) en su cadena, debe escapar usando un segundo símbolo de porcentaje.

Ejemplo:

int progress = 45;//percent
NSString *progressString = [NSString stringWithFormat:@"Progress: %i%%", (int)progress];

NSLog(progressString);//logs "Progress: 45%"

No existe ningún especificador de formato para el tipo BOOL.

Las soluciones de uso común incluyen:

BOOL myBool = YES;
NSString *boolState = [NSString stringWithFormat:@"BOOL state: %@", myBool?@"true":@"false"];

NSLog(boolState);//logs "true"

Que utiliza un operador ternario para lanzar una cadena equivalente.

BOOL myBool = YES;
NSString *boolState = [NSString stringWithFormat:@"BOOL state: %i", myBool];

NSLog(boolState);//logs "1" (binary)

Que utiliza un molde (int) para implantar un equivalente binario.

Especificadores de formato Ejemplos relacionados