CodeForge

JavaScript de Cero a Experto / Strings, números y fechas

Intl: plata y números en perfecto colombiano

Teoría18 min20 XP

1234567 debería mostrarse $ 1.234.567 en Colombia... y $1,234,567.00 en Estados Unidos. Puntos, comas, símbolos y posiciones cambian por país, y formatearlo a mano es firmar un contrato de bugs. JavaScript trae un diplomático que conoce las costumbres de cada región: Intl. Desde hoy, "Mi Bolsillo" muestra la plata como se muestra en Colombia.

El diplomático de los formatos

Moneda colombiana

Dos piezas en el nombre: el LOCALE ("es-CO": español de Colombia) decide puntuación y posición del símbolo; la CURRENCY ("COP") decide qué moneda es. Son independientes — podrías mostrar dólares con puntuación colombiana. Y fíjate en el patrón: el formateador se crea UNA vez y se llama muchas — crearlo es lo costoso, formatear es gratis.

Miles y porcentajes

Ojo con el estilo percent: espera la fracción (0.19) y él pone el × 100 y el símbolo. Pasarle 19 te mostraría 1.900 % — un susto común la primera vez.

Tiempos relativos

Las apps modernas no dicen "2026-07-14": dicen "ayer". Ese lenguaje también lo habla Intl:

Nota honesta: Intl también formatea fechas completas (Intl.DateTimeFormat: "miércoles, 15 de julio de 2026") — pero para dárselas necesitas objetos Date, el tema de la próxima lección. Allá cerraremos el círculo.

Muestras precios así: '$' + precio, y un usuario ve $1234567. Tu jefe pide que se vea $ 1.234.567 como en toda tienda colombiana. ¿La solución correcta?

Mini-reto

En "Mi Bolsillo": crea el formateador cop de la lección y reescribe la salida del reto del módulo 5 — total del mes, total de comida y el gasto más caro — mostrando cada cifra con cop.format(...). Agrega el porcentaje que representa la comida sobre el total con el formateador percent. Tu informe pasa de "números de programador" a "app colombiana de verdad".

Qué sigue

Cada gasto real ocurre en una FECHA — y las fechas son de los datos más traicioneros de la programación (meses que empiezan en 0, zonas horarias, años bisiestos). La próxima lección doma al objeto Date: crear fechas, leer sus partes, calcular diferencias y mostrarlas en español con Intl.DateTimeFormat.