通过NSNumberFormatter,同样可以设置NSNumber输出的格式。
NSNumberFormatter类有个属性numberStyle,它是一个枚举型,
设置不同的值可以输出不同的数字格式。该枚举包括:
enum {
NSNumberFormatterNoStyle = kCFNumberFormatterNoStyle,
NSNumberFormatterDecimalStyle = kCFNumberFormatterDecimalStyle,
NSNumberFormatterCurrencyStyle = kCFNumberFormatterCurrencyStyle,
NSNumberFormatterPercentStyle = kCFNumberFormatterPercentStyle,
NSNumberFormatterScientificStyle = kCFNumberFormatterScientificStyle,
NSNumberFormatterSpellOutStyle = kCFNumberFormatterSpellOutStyle
};
typedef NSUInteger NSNumberFormatterStyle;
for(int i=0; i<6; i++)
{
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = i;//这个就是上面的枚举类型对应的值
NSString *string = [formatter stringFromNumber:[NSNumber numberWithInt:1234456]];
NSLog(@"转化后是:%@",string);
}
2013-07-24 16:25:03.150 numberConvertDemo[25185:c07] 转化后是:1234456
2013-07-24 16:25:03.152 numberConvertDemo[25185:c07] 转化后是:1,234,456
2013-07-24 16:25:03.153 numberConvertDemo[25185:c07] 转化后是:$1,234,456.00
2013-07-24 16:25:03.153 numberConvertDemo[25185:c07] 转化后是:123,445,600%
2013-07-24 16:25:03.154 numberConvertDemo[25185:c07] 转化后是:1.234456E6
2013-07-24 16:25:03.155 numberConvertDemo[25185:c07]
转化后是:one million two hundred thirty-four
thousand four hundred fifty-six
其中第三项和最后一项的输出会根据系统设置的语言区域的不同而不同。