2009-10-15 6 views
0

Les premières versions de notre application ne prendront en charge qu'un nombre limité de devises. Si un utilisateur doit essayer d'utiliser notre application avec un currencyCode non pris en charge, je souhaite définir le currencyCode sur celui qui est supporté. Je me fais confondre rebondir entre NSNumberFormatters, currencyCodes, NSLocales, etc ...Soutenir un nombre limité de devises dans Cocoa (Touch)

Actuellement, je teste le currencyCode de NSNumberFormatter par rapport à une liste de chaînes supportées: USD, EUR, etc. Si la recherche échoue, je mets le currencyCode à @ "USD" alors les choses semblent fonctionner mais le format des nombres dans le style local, (50.000,30 US $) vs (50,000.35 $), comme on pourrait s'y attendre. Est-ce assez? Dois-je également définir et suivre les paramètres régionaux?

Les bons conseils ou des tutoriels sur currencyCodes et/ou travaillant avec à Cocoa Paramètres régionaux? Comment les autres manipulent-ils des situations comme celle-ci?

Répondre

1

NSNumberFormatter a à la fois currencySymbol et internationalCurrencySymbol propriétés. Normalement, ceux-ci sont définis par le code de la devise et les paramètres régionaux, mais vous pouvez les définir explicitement si vous en avez besoin. Par exemple, vous pouvez définir le internationalCurrencySymbol sur "$" si vous ne souhaitez pas voir "US $" dans les paramètres régionaux non américains.

Le format du numéro de devise est défini par les paramètres régionaux. Par exemple, le format des nombres en français est «50 000 $» contre «50 000 $» en anglais. Si vous souhaitez toujours utiliser le formatage des chiffres en anglais, vous pouvez définir explicitement les paramètres régionaux du formateur de nombres sur "EN".

Questions connexes