在開發的過程中,我們會遇到這樣的問題,在金額沒三位中間會加乙個逗號的那種格式。例如: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 的個數 小數點任一側 則顯示前導零或尾隨零。如果數字的小數點分隔符右側的位數多於...