2009-09-03 66 views

回答

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

我更喜歡'@(myInt).stringValue',因爲您不需要關心實際的原始類型。 – Elist 2017-07-24 08:32:37

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

這是很多途徑之一。

139

基元可以通過@()表達式轉換爲對象。所以最短方式是轉變intNSNumber,拿起字符串表示與stringValue方法:

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

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

稍微不詳細:'NSString * strValue = @(myInt).stringValue;' – 2014-05-24 13:28:31

+2

我認爲這是最好的解決方案,因爲它既是面向未來的,也是跨架構兼容的! – 2015-07-15 15:22:30

+0

真的很棒,簡單的解決方案! – djleop 2015-11-10 13:29:48

2

如果這個字符串是呈現給最終用戶,你應該使用NSNumberFormatter。這將增加千位分隔符,並會履行對用戶的本地化設置:

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

在美國,例如,將創建一個字符串10,000,但在德國,這將是10.000