2009-09-03 11 views

Antwort

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

Ich mag '@ (myInt) .stringValue' besser, da Sie sich nicht um den eigentlichen primitiven Typ kümmern müssen. – Elist

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

Dies ist eine von vielen Möglichkeiten.

139

Primitive können in Objekte mit @() Ausdruck konvertiert werden. So ist die kürzeste Weg ist int zu NSNumber zu transformieren und String-Darstellung mit stringValue Methode holen:

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

oder

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

Etwas weniger ausführlich: 'NSString * strValue = @ (myInt) .stringValue;' –

+2

Ich denke, das ist die beste Lösung, da es sowohl zukunftssicher und Cross-Architektur kompatibel ist! –

+0

Wirklich tolle und einfache Lösung! – djleop

2

Wenn diese Zeichenfolge für die Präsentation an den Endverbraucher, sollten Sie NSNumberFormatter. Dies wird Tausendertrennzeichen hinzufügen, und wird die Lokalisierungseinstellungen für den Benutzer ehrt:

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

In den USA zum Beispiel, dass ein String 10,000, aber in Deutschland schaffen würde, das wäre 10.000 sein.

Verwandte Themen