Domanda

Ho un int non incaricato con un valore di -10, ora voglio convertirlo in NSString.

In semplicemente facciamo come, nella programmazione di iPhone Objective-C

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

Mostrerò l'output della console come 10

Ma se è qualcosa di simile

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

Quindi l'output sarà lo stesso, non il -10,

Come posso fare una conversione adeguata?

È stato utile?

Soluzione

Uso %u invece di %d. È simile a C: converti firmata in unsigned.

Altri suggerimenti

Ti sei mai chiesto cosa non firmato significa?

È sempre> = 0. -10 non è un valore valido per una variabile non firmata.

Un non firmato Integer non può avere un valore di -10.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top