2011-01-22 185 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