iOS中数字的格式化

在iOS中咱们能够 经过NSDateFormatter来设置输出NSDate的格式。相比NSDateFormatter的大名鼎鼎,NSNumberFormatter 好像知道的人就很少了。其实经过NSNumberFormatter,一样能够设置NSNumber输出的格式。例如以下代码:

        NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; spa

        formatter.numberStyle = NSNumberFormatterDecimalStyle; orm

        NSString *string = [formatter stringFromNumber:[NSNumber numberWithInt:123456789]]; ci

        NSLog(@"Formatted number string:%@",string); string

    输出结果为:[1223:403] Formatted number string:123,456,789 it

其中NSNumberFormatter类有个属性numberStyle,它是一个枚举型,设置不一样的值能够输出不一样的数字格式。该枚举包括: form

enum { im

    NSNumberFormatterNoStyle = kCFNumberFormatterNoStyle, 语言

    NSNumberFormatterDecimalStyle = kCFNumberFormatterDecimalStyle, di

    NSNumberFormatterCurrencyStyle = kCFNumberFormatterCurrencyStyle, 数字

    NSNumberFormatterPercentStyle = kCFNumberFormatterPercentStyle,

    NSNumberFormatterScientificStyle = kCFNumberFormatterScientificStyle,

    NSNumberFormatterSpellOutStyle = kCFNumberFormatterSpellOutStyle

};

typedef NSUInteger NSNumberFormatterStyle;

各个枚举对应输出数字格式的效果以下:

[1243:403] Formatted number string:123456789

[1243:403] Formatted number string:123,456,789

[1243:403] Formatted number string:123,456,789.00

[1243:403] Formatted number string:-539,222,988%

[1243:403] Formatted number string:1.23456789E8

[1243:403] Formatted number string:一亿二千三百四十五万六千七百八十九

其中第三项和最后一项的输出会根据系统设置的语言区域的不一样而不一样。

相关文章
相关标签/搜索