Swift 3 et NumberFormatter (.la monnaie) == ¤?
Xcode 8.0 (8A218a) GM
Cible: iOS 10 (Swift 3)
Considérons le code suivant:
let number = NSDecimalNumber(decimal: 22.4)
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .currency
numberFormatter.locale = Locale.current
let result = numberFormatter.string(from: number)
print(result!)
Le résultat est:
¤22.40
(Je n'ai aucune idée de ce que ¤
moyens.)
Mais si j'initialise les paramètres régionaux tels que:
numberFormatter.locale = Locale(identifier: "en_US")
Le résultat sera:
$22.40
... qui est ce que je m'attends à en premier lieu.
Avis que cela fonctionne dans une aire de Jeux tho:
Le problème semble se produire uniquement sur les appareils/simulateurs via Xcode lancement.
(J'ai testé sur deux macOS -- sur mon lieu de travail et à la maison.)
Toutes les idées sur ce qu'il se passe?
Quels sont vos paramètres régionaux en cours?
Ce n'
Une autre option est de ne pas mettre la
Je peux confirmer que cela FONCTIONNE dans une Aire de jeu, mais pas via Xcode sur un simulateur / de l'appareil. J'ai mis à jour ma question avec cette info.
L' ¤ caractère Unicode "MONNAIE SIGNE le caractère". C'est le caractère qui sera utilisé pour afficher la monnaie si les paramètres régionaux n'ont pas toute l'information qui en devises, ou la façon de les afficher.
Ce n'
Locale.current
vous donner?Une autre option est de ne pas mettre la
locale
propriété du formateur. Il sera par défaut à vos paramètres régionaux en cours, donc il n'y a aucune raison de le mettre à la localisation en cours.Je peux confirmer que cela FONCTIONNE dans une Aire de jeu, mais pas via Xcode sur un simulateur / de l'appareil. J'ai mis à jour ma question avec cette info.
L' ¤ caractère Unicode "MONNAIE SIGNE le caractère". C'est le caractère qui sera utilisé pour afficher la monnaie si les paramètres régionaux n'ont pas toute l'information qui en devises, ou la façon de les afficher.
OriginalL'auteur backslash-f | 2016-09-12
Vous devez vous connecter pour publier un commentaire.
J'ai le même problèmes et je le résoudre par le code ci-dessous. J'espère que c'est utile
OriginalL'auteur Nam Pham
Pour répondre à ma propre question: recréer le projet. :\
Le projet a été commencé dans Xcode 7 + Swift 2, puis "migré" vers Xcode 8 + Swift 3 (manuellement). Quelque chose s'est mal passé. Je ne sais pas quoi (et je ne veux pas le savoir).
Ce n'était pas un projet énorme, donc j'ai passé 40 minutes de déplacer des fichiers. Si c'était un gros projet, je serais f....d maintenant.
Xcode pls.
OriginalL'auteur backslash-f
Ce qui m'arrivait dans le Simulateur, il s'avère que c'était une erreur dans mon schéma de l'installation. Checkout les étapes suivantes:
OriginalL'auteur D. Pratt
Je pense que votre appareil langue chinois
c'est pourquoi ¤ symbole présenté comme le symbole de la monnaie
OriginalL'auteur apexa chovatiya