Formatage selon les paramètres régionaux
Formatez les nombres, les dates et les devises selon les paramètres régionaux.
Formatage selon les paramètres régionaux est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 4 leçons au total.
Les nombres ne sont pas universels
Le nombre un million deux cent mille s’écrit 1,200,000.50 aux US, 1.200.000,50 en Allemagne et 12,00,000.50 en Inde. Coder en dur les séparateurs ou les formats ne fonctionne pas dans la plupart des régions du monde. L’API FormatStyle de Swift gère correctement ces différences pour chaque paramètre régional.
import Foundation
let value = 1_200_000.5
print(value.formatted()) // uses current localeLe point d’entrée formatted()
La plupart des types standard — nombres, dates, mesures et listes — disposent d’une méthode formatted(). Sans argument, elle utilise des valeurs par défaut adaptées aux paramètres régionaux ; transmettez un style pour la personnaliser.
import Foundation
let n = 1234.567
print(n.formatted()) // default
print(n.formatted(.number.precision(.fractionLength(2))))Styles numériques
.number est l’outil principal. Vous pouvez configurer le groupement, la longueur de la partie fractionnaire, l’arrondi et l’affichage du signe de manière fluide. Le paramètre régional contrôle toujours les caractères de séparation utilisés.
import Foundation
let x = 1234.5
print(x.formatted(
.number
.grouping(.automatic)
.precision(.fractionLength(0...2))))Formatage des devises
Pour les montants, .currency(code:) place correctement le symbole, le groupement et les décimales selon le paramètre régional. Le même montant s’affiche sous la forme $1,200.00 ou 1.200,00 €€ selon la région de l’utilisateur ; ne construisez jamais les chaînes monétaires manuellement.
import Foundation
let price = 1200.0
print(price.formatted(.currency(code: "USD")))
print(price.formatted(.currency(code: "EUR")))
print(price.formatted(.currency(code: "JPY")))Formatage des pourcentages
.percent multiplie la valeur par 100 et ajoute le signe de pourcentage du paramètre régional, en gérant les règles d’espacement que certaines langues imposent entre le nombre et le symbole.
import Foundation
let ratio = 0.875
print(ratio.formatted(.percent))
print(ratio.formatted(.percent.precision(.fractionLength(1))))Remplacer le paramètre régional
Par défaut, le formatage utilise Locale.current. Pour imposer un paramètre régional précis — à des fins de test ou pour afficher une valeur dans une région fixe — chaînez .locale(_:) à n’importe quel style.
import Foundation
let value = 1234567.89
let german = Locale(identifier: "de_DE")
print(value.formatted(.number.locale(german)))
// 1.234.567,89Formatage des dates
Les dates disposent de leurs propres styles. .dateTime vous permet de composer les champs souhaités (year, month, day, heure), et le système les ordonne selon le paramètre régional : month-day-year aux US et day-month-year dans une grande partie de l’Europe.
import Foundation
let now = Date()
print(now.formatted(
.dateTime.year().month().day()))
print(now.formatted(date: .long, time: .shortened))Dates relatives
RelativeDateTimeFormatter et le style .relative produisent des expressions comme « il y a 2 heures » ou « dans 3 jours », entièrement traduites. C’est idéal pour les fils d’actualité et les horodatages.
import Foundation
let past = Date().addingTimeInterval(-3600)
let text = past.formatted(
.relative(presentation: .named))
print(text) // e.g. "1 hour ago"Mesures et unités
Measurement formate les quantités physiques et peut convertir les unités. Le paramètre régional détermine s’il faut afficher des kilomètres ou des miles, et le style localise également le nom de l’unité.
import Foundation
let distance = Measurement(value: 5, unit: UnitLength.kilometers)
print(distance.formatted())
print(distance.formatted(
.measurement(width: .wide)))Listes et noms
Même la combinaison d’éléments respecte la langue. .list(type:) produit « pommes, oranges et poires » en français et utilise la conjonction et les séparateurs corrects dans les autres langues ; évitez d’insérer manuellement les virgules et le mot « et ».
import Foundation
let fruits = ["apples", "oranges", "pears"]
print(fruits.formatted(.list(type: .and)))
print(fruits.formatted(.list(type: .or)))Revenir au format initial
Les FormatStyles sont réversibles. Le parseStrategy d’un style — ou l’initialisation d’une valeur à partir d’une chaîne avec ce style — reconvertit le texte localisé en nombre ou en date, en respectant les mêmes règles de paramètre régional.
import Foundation
let style = Decimal.FormatStyle.Currency(code: "USD")
let amount = try? Decimal("$1,234.50", format: style)
print(amount ?? 0)Vérification rapide
Rappelez-vous quel outil utiliser pour les montants.
Récapitulatif
Vous avez appris à formater en fonction des paramètres régionaux avec FormatStyle :
formatted()fournit des valeurs par défaut adaptées aux paramètres régionaux ; transmettez un style pour le personnaliser..number,.currency(code:),.percent,.dateTime,.relative,.measurementet.listcouvrent la plupart des besoins.- Chaînez
.locale(_:)pour remplacer la région ; les styles peuvent également analyser le texte pour le reconvertir. - Ne construisez jamais manuellement les séparateurs, les symboles monétaires ou l’ordre des dates.
Questions Fréquemment Posées
La leçon « Formatage selon les paramètres régionaux » est-elle gratuite ?
Oui — le texte complet de « Formatage selon les paramètres régionaux » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Formatage selon les paramètres régionaux » ?
Formatez les nombres, les dates et les devises selon les paramètres régionaux. Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Swift Academy ?
Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Formatage selon les paramètres régionaux » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?
Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Catalogues de chaînes et chaînes localisées
- Pluriels et Stringsdict
- Formatage selon les paramètres régionaux
- Écriture de droite à gauche et direction de la mise en page