NumberFormatter - 目标C.

时间:2011-01-22 01:52:42

标签: objective-c numberformatter

如何创建数字格式化程序以使用逗号格式化大数字?

例如,2389378.289应为2,389,378.289

请注意,并不总是有三个小数位,也不总是小数。请使用NSNumberFormatter。

谢谢!

2 个答案:

答案 0 :(得分:1)

格式为@"#,##0.###"。请查看the Unicode number format guide以获取有关如何构造格式字符串的完整说明。

(另请注意,这在逗号和圆点相反或使用其他字符的区域设置中都能正常工作。)

答案 1 :(得分: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]]);

Chuck为您提供的格式最多支持3位小数。如果你的号码小于3,他们就不会出现。 Chuck也是正确的,您想要查看Unicode数字格式指南,它对数字格式问题非常有用。