En iOS 6 (y posiblemente antes) se puede averiguar el número de dígitos tras el punto decimal de la moneda de la minimumFractionDigits propiedad de un NSNumberFormatter establece en la configuración regional correcta:
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)
Observe que debe llamar [setNumberStyle formateador: NSNumberFormatterCurrencyStyle] antes de que los minimumFractionDigits propiedad se rellena con el valor correcto (que sólo me llevó media hora nuestro para funcionar!)
El enlace proporcionado ya no es válido, sospecho que fue: http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=46121 pero esto solo apunta a una página donde puedes comprar la especificación completa. Wikipedia mantenga la lista aquí: http://en.wikipedia.org/wiki/ISO_4217 – knightpfhor
'DECIMAL (19, 4)' ** es una elección popular ** check [this] (http://stackoverflow.com/questions/224462/storage-money-in-a-decimal-column-what-precision-and-scale) también marque [aquí] (http://www.thefinancials.com/Default.aspx?SubSectionID=curformat) World Currency Formats para decidir cuántos decimales usar, la esperanza ayuda. – stom