iOS 中数字的格式化处理

来源:互联网 发布:.com.cn是什么域名 编辑:程序博客网 时间:2024/06/05 00:26

最近越来越多的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:一亿二千三百四十五万六千七百八十九 

0 0