2010-04-23 17 views

Répondre

26

Un certain nombre d'autres pays affichent un nombre différent de décimales. 2 est la majorité, 0 (aucun centime dans leur devise, par exemple, le Japon) est la plus grande minorité, 3 est utilisé dans quelques-uns. Aucun autre numéro que je connais. Lorsque les taux de change sont cités, plus de décimales sont généralement utilisées. Les devises avec 0 et 3 que je connais sont montrées ci-dessous.

Les codes de devises ISO peuvent être trouvées à: http://www.iso.org/iso/support/currency_codes_list-1.htmhttp://en.wikipedia.org/wiki/ISO_4217 ou http://www.currency-iso.org/en/home/tables/table-a1.html.

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

Le lien fourni n'est plus valide, je suppose que c'était censé être: http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=46121 mais cela pointe vers une page où vous pouvez acheter la spécification complète. Wikipedia maintenir la liste ici: http://en.wikipedia.org/wiki/ISO_4217 – knightpfhor

+0

'DECIMAL (19, 4)' ** est un choix populaire ** vérifier [this] (http://stackoverflow.com/questions/224462/storage-money-in-a-decimal-column-what-precision-and-scale) vérifie également [ici] (http://www.thefinancials.com/Default.aspx?SubSectionID=curformat) Formats monétaires mondiaux pour décider du nombre de décimales à utiliser, l'espoir aide. – stom

22

Dans iOS 6 (et peut-être plus tôt), vous pouvez connaître le nombre de chiffres après la virgule d'une monnaie des minimumFractionDigits propriété d'un NSNumberFormatter réglé sur l'environnement local correct:

 
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) 

Notez que vous devez appeler [formatter setNumberStyle: NSNumberFormatterCurrencyStyle] avant que les minimumFractionDigits propriété est renseignée avec la valeur correcte (que l'on ne m'a pris une demi-heure notre pour travailler!)

+2

Je ne peux pas croire que cette réponse n'a pas plus de votes et que ce n'est pas la réponse acceptée car c'est la seule qui répond vraiment à la question des PO. Vous m'avez sauvé des heures d'essai et d'erreur et de chalutage à travers docs. Un de ces pépites précieuses que seul Stack Overflow peut fournir. Merci! – mluisbrown