2011-06-12 48 views
4

使用NSNumberFormatter,使用固定字符串格式化GroupingSeparator非常容易。NSNumberFormatter,本地化的setGroupingSeparator?

[numberFormatter setGroupingSeparator:@"."]; 

但在某些國家@「。」不是有效的分隔符:@「,」(逗號)代替。我怎樣才能從系統中獲得一個本地化的分組分隔符,所以我的格式在任何語言中都是正確的?

回答

7

您可以使用setLocale:

[numberFormatter setLocale:[NSLocale currentLocale]]; 

的區域暴露了正確的符號的東西像小數點分隔符,引號,和測量和貨幣單位。

但是!謹防將此用於貨幣;沒有自動轉換。如果您有一個代表美元數量的數字,並將其格式化爲歐元,則格式將正確,但不具有正確的含義。

+0

這應該是顯而易見的(但我無論如何都犯了這個錯誤):格式化程序的numberStyle屬性也需要設置爲非NSNumberFormatterNoStyle。 – 2011-06-13 17:13:17

+0

我只是好奇,爲什麼這是必要的?不應該格式化程序自動從當前區域設置本地設置?如果不是 - 這是誰的? – Lukasz 2014-10-01 10:50:37

+0

是的,它的確如此,@Lukasz,但是當我閱讀它時,OP的問題是正確地格式化設備當前設備以外的語言環境。 – 2014-10-01 17:08:35