2011-02-01 49 views
2

我正在使用Cocoa Touch開發iPhone應用程序。可可觸摸顯示器多種貨幣

我存儲的貨幣金額表中的相關聯的貨幣代碼從ISO 4217貨幣代碼表一起:

例如:123.45英鎊,456.45美元,321.98澳元等

當我展示這些值我希望它們使用正確的貨幣符號進行格式化:£123.45,$ 456.45,$ 321.98。

對於當前區域顯示的量,我使用

NSNumberFormatter *numFormatter = [[NSNumberFormatter alloc] init];       
[numFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 
[numFormatter setLocale: [NSLocale currentLocale]]; 

我希望能夠從貨幣代碼設置了一個區域,以顯示正確的貨幣符號。

有沒有什麼方法可以設置貨幣代碼的區域?

回答

0

因爲它是用戶可配置的,所以最好使用當前的語言環境。取而代之的是,剛剛成立的貨幣代碼:

[numFormatter setCurrencyCode: theIOSCurrencyCode]; 
+0

我的應用程序是人們出國旅行,以跟蹤他們的費用 - 所以我需要保持目前的區域設置爲用戶的祖國的。 – arossco 2011-02-03 21:35:36

+0

@arossco是的,當前語言環境是用戶在「設置」,「常規」 - >「國際」中設置的內容,跨越邊界時不會更改。當您以同一地區顯示各種貨幣的價格清單時,價格會根據用戶偏好始終格式化。你試過了嗎? – Costique 2011-02-04 05:41:34

0

編輯:固定一個錯字

如果你真的想改變的區域,那麼你可以存儲區域設置標識符,而不是貨幣代碼在你的桌子和訪問數據如下:

locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; 
[numFormatter setLocale: locale]; 
[locale release];