2010-10-09 19 views
0

J'utilise NSNumberFormatter pour créer une chaîne au format monétaire. Tout fonctionne correctement sur la plupart des appareils, mais sur certains appareils, par exemple les appareils de langue coréenne, le signe $ apparaît sous la forme d'un rectangle.iPhone - problème NSNumberFormatter

NSNumberFormatter *currencyStyle = [[NSNumberFormatter alloc] init]; 
[currencyStyle setFormatterBehavior:NSNumberFormatterBehavior10_4]; 
[currencyStyle setNumberStyle:NSNumberFormatterCurrencyStyle]; 
NSNumber *amount = [NSNumber numberWithInteger:moneyAmount]; 
NSString *amountString = [NSString stringWithFormat:@"%@", [currencyStyle stringFromNumber:amount]]; 
[currencyStyle release]; 

Un moyen de résoudre ce problème?

Rhanks

+0

en double de http://stackoverflow.com/questions/2175963/uilabel-irr-krw-and-khr-currencies-with-wrong-symbol? – imaginaryboy

+0

très similaire mais pas un doublon. ce type a des problèmes avec des caractères non anglais et non ASCII. J'ai ce problème avec un simple $ signe, qui est supporté par n'importe quelle police disponible, ou disons soutenu par la police que j'utilise – aryaxt

Répondre

2

Compte tenu de votre commentaire dans la question, il semble que vous voulez juste le symbole monétaire $, quel que soit quel que soit le symbole monétaire est défini pour les paramètres régionaux en cours de l'utilisateur.

Ceci est effectué à l'aide de la méthode d'instance -setCurrencySymbol: de la classe NSNumberFormatter. Dans votre cas, vous pouvez effectuer les opérations suivantes:

[currencyStyle setCurrencySymbol:@"$"]; 
+0

wow alors il essayait en fait d'afficher la monnaie coréenne? Intéressant, merci – aryaxt