2017-10-18 17 views
0

Je rencontre un problème en essayant de configurer la chaîne de prix In-App-Purchase dans le magasin chinois. Si un produit dans le jeu est 30.00rmb je veux qu'il montre ¥ 30.00, mais maintenant il montre CN ¥ 30.00. Ci-dessous le code que j'utilise:IOS dans l'application format de devise d'achat pour le Yuan chinois

SKProduct* product 

NSNumberFormatter* formatter = [[NSNumberFormatter alloc] init]; 
formatter.locale = product.priceLocale; 
formatter.numberStyle = NSNumberFormatterCurrencyStyle; 
formatter.formatterBehavior = NSNumberFormatterBehavior10_4; 

return [formatter stringFromNumber:product.price] 

où produit est un SKProduct passé en paramètre. Gardez à l'esprit que cela fonctionne pour tous les autres magasins Apple dans d'autres devises, mais cela ne fonctionne tout simplement pas pour le magasin Apple chinois.

Je voudrais vraiment que le résultat final soit ¥ 30.00.

Merci!

PS. Un autre bug que je vois qui pourrait être lié est que je reçois des cas de bord rares de la chaîne de prix qui apparaît comme 30,00; C'est avec une virgule et pas de symbole monétaire. Peut-être que c'est en quelque sorte lié?

Répondre

0

Vous pouvez essayer le code suivant ::

NSString *price = [NSString stringWithFormat:@"%@%@", [product.priceLocale objectForKey:NSLocaleCurrencySymbol], product.price]; 
+0

Merci pour l'homme de réponse, mais bien que cela fonctionnerait pour la monnaie chinoise, il ne serait pas travailler pour d'autres pays qui ont leur symbole monétaire à la fin (ex 100,00 £). Cependant, j'ai compris ce qui cause le problème. Les paramètres régionaux dépendent de la région du compte et des paramètres de langue de l'utilisateur. Donc, mon compte de test avait une région définie en Chine, mais la langue était en anglais, c'est pourquoi il utilisait le format local bizarre. – Shinsuke