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:一億二千三百四十五萬六千七百八十九

其中第三項和最後一項的輸出會根據系統設置的語言區域的不一樣而不一樣。

相關文章
相關標籤/搜索