Sus*_*nna 27 iphone locale localization currency
我读到了关于NSLocaleCurrencySymbol的信息,但在哪里可以找到用于确定一个国家/地区货币中使用的"小数位数"的变量?
IE在美国,通常会看到以小数点后两位写入的美元金额:1.23美元
那么其他很多国家呢?
小智 32
还有许多其他国家/地区显示不同的小数位数.2是大多数,0(他们的货币没有美分,例如,日本)是最大的少数,3只用于少数.没有其他我知道的号码.当引用汇率时,通常使用更多小数.我知道的0和3货币如下所示.
ISO货币代码可在以下位置找到: http://www.iso.org/iso/support/currency_codes_list-1.htm http://en.wikipedia.org/wiki/ISO_4217或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
Run Code Online (Sandbox Code Playgroud)
Rob*_*ins 26
在iOS 6(可能更早)中,您可以从NSNumberFormatter 的minimumFractionDigits属性设置为正确的区域设置中找出货币小数位后的位数:
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)
请注意,在使用正确的值填充minimumFractionDigits属性之前,必须调用[formatter setNumberStyle:NSNumberFormatterCurrencyStyle](那个只花了我半小时才算出来!)
| 归档时间: |
|
| 查看次数: |
28603 次 |
| 最近记录: |