Formato según la configuración regional
Formatee números, fechas y divisas según la configuración regional.
Formato según la configuración regional es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 4 lecciones en total.
Los números no son universales
El número un millón doscientos mil con cincuenta centésimas se representa como 1,200,000.50 en Estados Unidos, 1.200.000,50 en Alemania y 12,00,000.50 en India. Escribir directamente los separadores o formatos hace que fallen en la mayor parte del mundo. La API FormatStyle de Swift gestiona esto correctamente según la configuración regional.
import Foundation
let value = 1_200_000.5
print(value.formatted()) // uses current localeEl punto de entrada formatted()
La mayoría de los tipos estándar —números, fechas, mediciones y listas— tienen un método formatted(). Sin argumentos, utiliza valores predeterminados adecuados según la configuración regional; pase un estilo para personalizarlo.
import Foundation
let n = 1234.567
print(n.formatted()) // default
print(n.formatted(.number.precision(.fractionLength(2))))Estilos numéricos
.number es la opción principal. Puede configurar la agrupación, la longitud de la parte fraccionaria, el redondeo y la visualización del signo de forma encadenada. La configuración regional sigue controlando los caracteres separadores concretos.
import Foundation
let x = 1234.5
print(x.formatted(
.number
.grouping(.automatic)
.precision(.fractionLength(0...2))))Formato de moneda
Para representar dinero, .currency(code:) coloca correctamente el símbolo, la agrupación y los decimales según la configuración regional. La misma cantidad se muestra como $1,200.00 o 1.200,00 €€ según la región del usuario; nunca cree cadenas de moneda manualmente.
import Foundation
let price = 1200.0
print(price.formatted(.currency(code: "USD")))
print(price.formatted(.currency(code: "EUR")))
print(price.formatted(.currency(code: "JPY")))Formato de porcentajes
.percent multiplica por 100 y añade el signo de porcentaje de la configuración regional, además de gestionar las reglas de espaciado que algunos idiomas requieren entre el número y el símbolo.
import Foundation
let ratio = 0.875
print(ratio.formatted(.percent))
print(ratio.formatted(.percent.precision(.fractionLength(1))))Anular la configuración regional
De forma predeterminada, el formato utiliza Locale.current. Para forzar una configuración regional específica —para realizar pruebas o mostrar un valor en una región fija— encadene .locale(_:) a cualquier estilo.
import Foundation
let value = 1234567.89
let german = Locale(identifier: "de_DE")
print(value.formatted(.number.locale(german)))
// 1.234.567,89Formato de fechas
Las fechas tienen sus propios estilos. .dateTime permite combinar los campos que desea (año, mes, día y hora), y el sistema los ordena según la configuración regional: mes-día-año en Estados Unidos y día-mes-año en gran parte de Europa.
import Foundation
let now = Date()
print(now.formatted(
.dateTime.year().month().day()))
print(now.formatted(date: .long, time: .shortened))Fechas relativas
RelativeDateTimeFormatter y el estilo .relative producen frases como hace 2 horas o dentro de 3 días, completamente traducidas. Son ideales para feeds y marcas de tiempo.
import Foundation
let past = Date().addingTimeInterval(-3600)
let text = past.formatted(
.relative(presentation: .named))
print(text) // e.g. "1 hour ago"Mediciones y unidades
Measurement formatea cantidades físicas y puede convertir unidades. La configuración regional decide si se muestran kilómetros o millas, y el estilo localiza el propio nombre de la unidad.
import Foundation
let distance = Measurement(value: 5, unit: UnitLength.kilometers)
print(distance.formatted())
print(distance.formatted(
.measurement(width: .wide)))Listas y nombres
Incluso la unión de elementos respeta el idioma. .list(type:) produce «manzanas, naranjas y peras» en inglés y utiliza la conjunción y los separadores correctos en otros idiomas; evite insertar manualmente comas y la palabra «y».
import Foundation
let fruits = ["apples", "oranges", "pears"]
print(fruits.formatted(.list(type: .and)))
print(fruits.formatted(.list(type: .or)))Volver a analizar
Los FormatStyles son reversibles. La estrategia parseStrategy de un estilo (o la inicialización de un valor a partir de una cadena con el estilo) convierte el texto localizado de nuevo en un número o una fecha, respetando las mismas reglas de configuración regional.
import Foundation
let style = Decimal.FormatStyle.Currency(code: "USD")
let amount = try? Decimal("$1,234.50", format: style)
print(amount ?? 0)Comprobación rápida
Recuerde cuál es la herramienta adecuada para representar dinero.
Resumen
Aprendió a formatear según la configuración regional mediante FormatStyle:
formatted()proporciona valores predeterminados correctos para la configuración regional; pase un estilo para personalizarlos..number,.currency(code:),.percent,.dateTime,.relative,.measurementy.listcubren la mayoría de las necesidades.- Encadene
.locale(_:)para anular la región; los estilos también pueden volver a analizar el texto. - Nunca cree manualmente separadores, símbolos de moneda ni órdenes de fecha.
Aprende Swift con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 122
- Lecciones
- 409
Preguntas frecuentes
¿La lección «Formato según la configuración regional» es gratis?
Sí — el texto completo de «Formato según la configuración regional» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Formato según la configuración regional»?
Formatee números, fechas y divisas según la configuración regional. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Swift Academy?
No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Formato según la configuración regional»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Swift Academy?
Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Catálogos de cadenas y cadenas localizadas
- Pluralización y Stringsdict
- Formato según la configuración regional
- De derecha a izquierda y dirección del diseño