Pregunta

Tengo un intento sin tener un valor de -10, ahora quiero convertirlo en NSString.

En Simply hacemos como, en Objective-C, la programación de iPhone

int x = 10;
NSString *str = [NSString stringWithFormat:@"%d",x];
NSLog(@"My String is %@",str);

Mostraré la salida de la consola como 10

Pero si es algo como

unsigned int x = -10;
NSString *str = [NSString stringWithFormat:@"%d",x];
NSLog(@"My String is %@",str);

Entonces la salida será la misma, no el -10,

¿Cómo puedo hacer una conversión adecuada?

¿Fue útil?

Solución

Usar %u en vez de %d. Esto es similar a C: Convertir firmado a Unsigned.

Otros consejos

¿Alguna vez te preguntaste qué no firmado ¿medio?

Siempre es> = 0. -10 no es un valor válido para una variable sin firmar.

Un no firmado Integer no puede tener un valor de -10.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top