2010-04-23 75 views

回答

26

還有許多其他國家顯示不同的小數位數。 2是大多數,0(其貨幣中沒有美分,例如日本)是最大的少數,3只在少數中使用。沒有其他我知道的號碼。匯率報價時,通常使用更多的小數位數。下面顯示了我知道的0和3的貨幣。 http://www.iso.org/iso/support/currency_codes_list-1.htmhttp://en.wikipedia.org/wiki/ISO_4217http://www.currency-iso.org/en/home/tables/table-a1.html

的ISO貨幣代碼可以在被發現。

ISO Code   Currency Decimal places 

ADP Andoran Peseta 0 
AFA Afghani Afghani 0 
BEF Belgian franc 0 
BHD Bahraini dinar 3 
BIF Burundi franc 0 
BYB Belorussian rubel (old) 0 
BYR Belorussian rubel (new) 0 
CLP Chilean peso 0 
COP Colombian peso 0 
DJF Djibouti franc 0 
ECS Ecuadorian sucre 0 
ESP Spanish peseta 0 
GNF Guinea franc 0 
GRD Greek drachma 0 
HUF Hungarian forint 0 
IDR Indonesian rupiah 0 
IQD Iraqui dinar 3 
ITL Italian lira 0 
JOD Jordan dinar 3 
JPY Japanese yen 0 
KMF Comoros franc 0 
KRW South Korean won 0 
KWD Kuwaiti dinar 3 
LAK Laos new kip 0 
LUF Luxembourg franc 0 
LYD Libyan dinar 3 
MGF Madagascan franc 0 
MZM Mozambique metical 0 
OMR Omani rial 3 
PTE Portugese escudo 0 
PYG Paraguay guarani 0 
ROL Roumanian Lei 0 
RWF Rwanda franc 0 
TJR Tadzhikistani rubel 0 
TMM Turkmenistani manat 0 
TND Tunesian dinar 3 
TPE Timor escudo 0 
TRL Turkish lira 0 
TWD New Taiwan dollar 0 
UGX Uganda shilling 0 
VND Vietnamese dong 0 
VUV Vanuata vatu 0 
XAF CFA Franc BEAC 0 
XOF CFA Franc BCEAO 0 
XPF CFP Franc 0 
+0

提供的鏈接不再有效,我懷疑它的意思是:http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=46121但這只是指向您可以購買完整規格的頁面。維基百科在這裏維護列表:http://en.wikipedia.org/wiki/ISO_4217 – knightpfhor 2012-09-25 23:47:34

+0

'DECIMAL(19,4)**是一個流行的選擇**檢查[this](http://stackoverflow.com/questions/224462 /存儲貨幣在十進制列什麼精度和規模)也檢查[這裏](http://www.thefinancials.com/Default.aspx?SubSectionID=curformat)世界貨幣格式決定使用多少個小數位,希望有所幫助。 – stom 2015-10-28 12:53:08

22

在iOS 6中(甚至更早),您可以在小數位的貨幣從minimumFractionDigits的NSNumberFormatter的屬性設置爲正確的語言環境後找出的位數:

 
void (^currency_test)(NSString *) = ^(NSString *locale) { 
    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
    [formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:locale]]; 
    [formatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 
    NSLog(@"%@: %@ (minimumFractionDigits = %d)", locale, [formatter stringFromNumber:@(1000)], [formatter minimumFractionDigits]); 
}; 

currency_test(@"en_US"); 
currency_test(@"nl_NL"); 
currency_test(@"de_DE"); 
currency_test(@"fr_FR"); 
currency_test(@"jp_JP"); 
currency_test(@"ar_JO"); 

en_US: $1,000.00 (minimumFractionDigits = 2) 
nl_NL: € 1.000,00 (minimumFractionDigits = 2) 
de_DE: 1.000,00 € (minimumFractionDigits = 2) 
jp_JP: ¥ 1000 (minimumFractionDigits = 0) 
ar_JO: ١٠٠٠٫٠٠٠ د.أ.‏ (minimumFractionDigits = 3) 

請注意,您必須致電[formatter setNumberStyle:NSNumberFormatterCurrencyStyle]之前的minimumFractionDigits屬性填充了正確的值(那個只花了我半小時我們的工作!)

+2

我不能相信這個答案沒有更多的選票,並且它不是被接受的答案,因爲它是唯一真正回答OP問題的答案。您已經爲我節省了數小時的試驗和錯誤,並通過文檔進行漫遊。其中一種只有Stack Overflow可以提供的有價值的金塊。謝謝! – mluisbrown 2013-04-05 14:23:47