2011-01-22 218 views
0

如何使用逗號創建用於格式化大數字的數字格式化程序?NumberFormatter - ObjectiveC

例如,2389378.289應該成爲2,389,378.289

注意,這裏並不總是小數點後三位,也沒有永遠的十進制的。請使用NSNumberFormatter。

謝謝!

回答

1
NSNumberFormatter *fmt = [[[NSNumberFormatter alloc] init] autorelease]; 
[fmt setAlwaysShowsDecimalSeparator:NO]; 
[fmt setFormat:@"#,##0.###"]; 
NSLog(@"%@",[fmt stringFromNumber:[NSNumber numberWithFloat:35.424252]]); 
NSLog(@"%@",[fmt stringFromNumber:[NSNumber numberWithFloat:21.3]]); 
NSLog(@"%@",[fmt stringFromNumber:[NSNumber numberWithFloat:10392425]]); 

查你放棄到小數點後3位支持的格式。如果你的號碼少於3,他們就不會出現。查克也是正確的,你想看看Unicode數字格式指南,它是數字格式問題的無價之寶。

1

其格式爲@"#,##0.###"。請看the Unicode number format guide瞭解如何構造格式字符串的完整說明。

(另請注意,這個工作正常在逗號和點反轉,或其他字符使用的語言環境。)

+0

你能告訴我使用NSNumberFormatter的完整目標C代碼嗎?並且注意它並不總是3位小數,也不總是有小數。 – CodeGuy 2011-01-22 02:09:00