2012-03-22 22 views
2

如何將NSNumber「1234567」轉換爲「12,34,567」?格式目標C中的NSNumber

我已經使用了NSNumberFormatter這一點,但無法獲得所需的結果。

我做這樣的

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
    [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; 
    NSString *formattedString = [formatter stringFromNumber:[NSNumber numberWithFloat:1234567]]; 
    NSLog(@":%@",formattedString); 

輸出:1,234,567

所需的輸出:12,34,567

+0

什麼是你想要的結果? – Narayana 2012-03-22 10:15:36

+1

「12,34,567」???? – yuji 2012-03-22 10:16:33

+1

顯示你的嘗試。這樣,有人可能能夠解釋你出錯的地方,而不僅僅是給你一個答案/代碼 – 2012-03-22 10:20:22

回答

6
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; 
[numberFormatter setPositiveFormat:@"##,##,###"];  
NSString *formattedNumberString = [numberFormatter 
     stringFromNumber:[NSNumber numberWithFloat:1234567]]; 
NSLog(@"formattedNumberString: %@", formattedNumberString); 
[numberFormatter release]; 
+0

:謝謝您的回答:) – 2012-03-22 11:17:32

+1

不客氣:)你可以找到關於蘋果文檔中的主題更多信息https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/DataFormatting/文章/ dfNumberFormatting10_4.html#// apple_ref/DOC/UID/TP40002368-SW2 http://unicode.org/reports/tr35/tr35-10.html#Number_Format_Patterns – iffi 2012-03-22 12:22:00

+0

:真的很漂亮信息... :) – 2012-03-22 17:26:50

0
NSNumber *number = [NSNumber numberWithInteger:1234567]; 
NSNumberFormatter *formatter = [NSNumberFormatter new]; 
[formatter setNumberStyle:NSNumberFormatterDecimalStyle]; 
NSLog(@"%@", [formatter stringFromNumber:number]); 
[formatter release]; 
+0

必給的輸出「12,34,567」或「1,234,567」? – Ilanchezhian 2012-03-22 10:51:38

+0

12,34,567只是一個錯字。 – 2012-03-22 10:57:19

+0

它會給出輸出「1,234,567」而不是我想要的結果是「12,34,567」。 – 2012-03-22 11:01:16