Maxy.fr

Formater les nombres en respectant les conventions de formatage française en Swift

La bibliothèque Foundation de iOS et macOS inclut un objet appelé NumberFormatter qui permet de formater les nombres en respectant les conventions de formatage locales. En utilisant cet objet, vous pouvez formater les nombres de manière à les afficher au format français standard.

Dans votre code, vous créez un objet NumberFormatter en utilisant la déclaration suivante :

let formater = NumberFormatter()

Ensuite, vous configurez l'objet en spécifiant que vous voulez utiliser un séparateur de groupe pour les milliers, en définissant le séparateur de groupe sur une espace :

formater.usesGroupingSeparator = true
formater.groupingSeparator = " "

Vous spécifiez le style de formatage en utilisant :

formater.numberStyle = .decimal

Enfin, vous indiquez que vous voulez utiliser le formatage français en utilisant :

formater.locale = Locale(identifier: "fr_FR")

Cela permet de fixer les règles de formatage pour la France, comme l'utilisation de la virgule comme séparateur décimal.

Pour formater un nombre, vous utilisez la méthode string(from:) de l'objet NumberFormatter en lui passant le nombre à formater sous forme d'un objet NSNumber :

var prix = formater.string(from: NSNumber(value:prix))! + " €"

 

En utilisant ce code, vous avez maintenant un formatage correcte des nombres avec les conventions de formatage locales française, avec un espace comme séparateur de groupe pour les milliers, une virgule comme séparateur décimal et le symbole "€" pour indiquer le type de monnaie.

 

Il est important de noter que vous devez utiliser NSNumber pour formater les nombres en utilisant NumberFormatter, car cette méthode n'accepte pas les types natifs de Swift.

Il est également important de vérifier que l'objet renvoyé par la méthode string(from:) n'est pas nul, c'est pourquoi il est utilisé la notation ! pour forcer l'unwrapping, pour éviter les erreurs potentielles.

Il est aussi possible de formater d'autres types de nombres tels que les nombres décimaux et les pourcentages en utilisant les propriétés appropriées de l'objet NumberFormatter. Il est également possible de personnaliser davantage la présentation des nombres en utilisant les propriétés de l'objet NumberFormatter comme la propriété minimumFractionDigits pour définir le nombre minimum de chiffres après la virgule.

 

En résumé, l'objet NumberFormatter de la bibliothèque Foundation de iOS et macOS est un outil puissant pour formater les nombres en respectant les conventions de formatage locales. En utilisant le code Swift que vous avez fourni, vous pouvez formater les nombres de manière à les afficher au format français standard en utilisant un séparateur de groupe pour les milliers, une virgule comme séparateur décimal et le symbole "€" pour indiquer le type de monnaie.

Catégories : Swift

Par Guillaume le 26/01/2023 à 20:41

Partager l'article :

Articles similaires

Comment exécuter une fonction dans la vue principale depuis une vue en Present Modally avec Swift

Il peut être utile dans certains cas d’exécuter une fonction présente dans le code de la vue principale d’une application, depuis une vue affichée en Present Modally. Par exemple dans le cas d’un système de recherche. Vous pouvez avoir un champ de...

Comment réinitialiser facilement toutes les valeurs structurées avec Struct en Swift ?

Si vous programmez en Swift, il est probable que vous utilisiez des variables structurées grâce à l'outil Struct. Vous vous êtes peut-être déjà demandé comment réinitialiser facilement toutes les valeurs de ces variables structurées,...

Utiliser des playgrounds pour tester rapidement vos idées en Swift avec Xcode

Les playgrounds sont un outil très utile pour les développeurs Swift. Ils permettent de tester rapidement des idées et de voir le résultat de votre code sans avoir à créer une application complète. Avec les playgrounds, vous pouvez rapidement...