iOS 數字的格式化(NSNumber格式化)

2021-07-16 01:08:32 字數 1580 閱讀 9166

在開發的過程中,我們會遇到這樣的問題,在金額沒三位中間會加乙個逗號的那種格式。例如:123456變成123,456的情況。

數字的格式化的**:

nsstring *numstring = [nsstring stringwithformat:@"%@",@"12345678.89"];

nsnumberformatter *formatter = [[nsnumberformatter alloc] init];

nsnumber *number = [formatter numberfromstring:numstring];

formatter.numberstyle = kcfnumberformatterdecimalstyle;

nsstring *string = [formatter stringfromnumber:number];

nslog(@"numberformatter == %@",string);

格式化的型別有:

typedef cf_enum(cfindex, cfnumberformatterstyle) ;
對應的輸出形式(英文環境):

numberformatter == 12,345,678.89

numberformatter == 12,345,678.89

numberformatter == $12,345,678.89

numberformatter == 1,234,567,889%

numberformatter == 1.234567889e7

numberformatter == twelve million three hundred forty-five thousand six hundred seventy-eight point eight nine

numberformatter == 12,345,679th

numberformatter == 3,429:21:19

numberformatter == usd12,345,678.89

numberformatter == 12,345,678.89 us dollars

對應的中文輸出環境:

numberformatter == 12,345,678.89

numberformatter == 12,345,678.89

numberformatter == us$ 12,345,678.89

numberformatter == 1,234,567,889%

numberformatter == 1.234567889e7

numberformatter == 一千二百三十四萬五千六百七十八點**

numberformatter == 第1234,5679

numberformatter == 12,345,679

numberformatter == usd 12,345,678.89

numberformatter == 12,345,678.89美元

iOS中數字的格式化

在ios中我們可以通過nsdateformatter來設定輸出nsdate的格式。相比nsdateformatter的大名鼎鼎,nsnumberformatter好像知道的人就不多了。其實通過nsnumberformatter,同樣可以設定nsnumber輸出的格式。例如如下 nsnumberfor...

iOS中數字的格式化

在ios中我們可以通過nsdateformatter來設定輸出nsdate的格式。相比nsdateformatter的大名鼎鼎,nsnumberformatter好像知道的人就不多了。其實通過nsnumberformatter,同樣可以設定nsnumber輸出的格式。例如如下 nsnumberfor...

格式化數字

格式化數字 下表是可在format函式中用於格式化數字的字元。字元 說明0 數字佔位符。顯示乙個數字或0。如果表示式在格式字串中出現0的位置上有數字,則顯示該數字 否則在該位置顯示0。如果數字的位數少於格式表示式中 0 的個數 小數點任一側 則顯示前導零或尾隨零。如果數字的小數點分隔符右側的位數多於...