2009-07-20 5 views
3

J'ai un formateur de nombres mis en place pour convertir des chaînes de devises en valeurs décimales. Le problème est que si la chaîne de texte n'a pas de signe dollar principal ("$"), elle est convertie en 0, plutôt qu'en un nombre correspondant valide. Alors:

"$3.50" converts to 3.50 
"3.50" converts to 0 

Voici le code pour le convertisseur:

// formatter to convert a value to and from a currency string 
NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init]; 
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 
[currencyFormatter setGeneratesDecimalNumbers:YES]; 

Est-ce que je manque quelque chose?

Répondre

1

J'ai rencontré un problème similaire. J'ai fini par mettre au rebut le NSNumberFormatter pour l'analyse et je suis passé à RegexKit Lite avec de meilleurs résultats.

Prenez une copie ici: RegexKit Lite

Ensuite, allez ici http://regexlib.com/ et trouvez le regex qui fonctionne le mieux pour vous.