最近越来越多的App 中对数字采用分割数字格式,看起来更直观。iOS中NSNumberFormatter 可以帮我们从容处理,使用方式类似于NSDateFormatter。代码如下:
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; formatter.numberStyle = NSNumberFormatterDecimalStyle; NSString *string = [formatter stringFromNumber:[NSNumber numberWithInt:123456789]]; NSLog(@"Formatted number string:%@",string); 输出结果为: Formatted number string:123,456,789其中NSNumberFormatter类有个属性numberStyle,它是一个枚举型,设置不同的值可以输出不同的数字格式。该枚举包括:
enum {
NSNumberFormatterNoStyle = kCFNumberFormatterNoStyle,
NSNumberFormatterDecimalStyle = kCFNumberFormatterDecimalStyle,
NSNumberFormatterCurrencyStyle = kCFNumberFormatterCurrencyStyle,
NSNumberFormatterPercentStyle = kCFNumberFormatterPercentStyle,
NSNumberFormatterScientificStyle = kCFNumberFormatterScientificStyle,
NSNumberFormatterSpellOutStyle = kCFNumberFormatterSpellOutStyle
};
typedef NSUInteger NSNumberFormatterStyle;
各个枚举对应输出数字格式的效果如下:
Formatted number string:123456789
Formatted number string:123,456,789
Formatted number string:¥123,456,789.00
Formatted number string:-539,222,988%
Formatted number string:1.23456789E8
Formatted number string:一亿二千三百四十五万六千七百八十九