2009-09-03 17 views

risposta

141
NSString *string = [NSString stringWithFormat:@"%d", theinteger]; 
+0

Mi piace '@ (myInt) .stringValue' meglio poiché non è necessario preoccuparsi del tipo primitivo attuale. – Elist

37
int i = 25; 
NSString *myString = [NSString stringWithFormat:@"%d",i]; 

Questo è uno dei molti modi.

139

Le primitive possono essere convertite in oggetti con espressione @(). Quindi il modo più breve è quello di trasformare int a NSNumber e pick up rappresentazione di stringa con stringValue metodo:

NSString *strValue = [@(myInt) stringValue]; 

o

NSString *strValue = @(myInt).stringValue; 
+11

Leggermente meno dettagliato: 'NSString * strValue = @ (myInt) .stringValue;' –

+2

Penso che questa sia la soluzione migliore, dal momento che è compatibile sia a prova di futuro che di architettura multipla! –

+0

Soluzione davvero grande e semplice! – djleop

2

Se questa stringa è per la presentazione per l'utente finale, è necessario utilizzare NSNumberFormatter. Questo aggiungerà separatori delle migliaia, e onorerà le impostazioni di localizzazione per l'utente:

NSInteger n = 10000; 
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
formatter.numberStyle = NSNumberFormatterDecimalStyle; 
NSString *string = [formatter stringFromNumber:@(n)]; 

Negli Stati Uniti, per esempio, che creerebbe una stringa 10,000, ma in Germania, che sarebbe 10.000.