2009-09-03 19 views

答えて

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

実際のプリミティブ型を気にする必要がないので、 '@(myInt).stringValue'が気に入っています。 – Elist

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

これは、多くの方法の一つです。

139

プリミティブは@()という表現でオブジェクトに変換できます。だから、最短方法はNSNumberintを変換し、stringValue方法で文字列表現を拾うことです:

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

または

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

少し冗長である: 'NSString * strValue = @(myInt).stringValue; ' –

+2

これは将来的な証明とクロスアーキテクチャに対応しているので、これは最善の解決策だと私は思う! –

+0

本当に偉大で簡単な解決策! – djleop

2

この文字列は、エンドユーザーに提示するためであれば、あなたが使用する必要がありますNSNumberFormatter。これは、桁区切りを追加し、ユーザーのためのローカライゼーション設定を尊重します:米国で

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

を、例えば、それは文字列10,000を作成しますが、ドイツでは、それは10.000だろう。

関連する問題