Herramientas
Guías

Formateador de números

Conversión

Formatea números con Intl.NumberFormat — separadores de millares, notación científica, precisión y moneda para cualquier configuración regional.

100 % del lado del cliente Sin backend
Salida
En esta página

¿Qué es un formateador de números?#

El mismo número se escribe de distinta manera según el lugar. 1234567.89 en inglés de EE. UU. es 1,234,567.89; en alemán es 1.234.567,89 (punto y coma intercambian sus papeles); en hindi es 12,34,567.89 (agrupado en lakhs de dos dígitos, no en miles de tres); en formato compacto inglés se reduce a 1.23M. Ninguno es «incorrecto»: cada uno responde a la convención local correcta, y acertar importa para recibos, paneles y cualquier cifra que lea una persona.

Esta página es una interfaz en vivo del Intl.NumberFormat nativo del navegador, el mismo motor que usan las aplicaciones en producción. Le das un número en bruto y eliges un estilo (decimal simple, moneda o porcentaje), una notación (estándar, científica, de ingeniería o compacta), una configuración regional, los límites de decimales y si se agrupa o no. Devuelve al instante la cadena correctamente localizada, sin tablas de separadores escritas a mano que se queden desactualizadas.

Cómo se usa#

  1. Escribe un Valor (la página arranca con 1234567.89). Sirven los decimales simples y la notación científica como 1.23e5; la entrada ya agrupada, como 1,000, se rechaza a propósito para que un texto ambiguo nunca se reformatee en silencio.
  2. Elige un Estilo: Decimal (número simple), Moneda (revela el selector de moneda: USD, EUR, GBP, JPY, CNY, INR y más, todos códigos ISO 4217) o Porcentaje (multiplica por 100 y añade el signo de porcentaje de la configuración regional).
  3. Elige una Notación: Estándar, Científica (1.23E6), Ingeniería (el exponente siempre múltiplo de 3) o Compacta (1.23M, 1.23亿).
  4. Elige una Configuración regional de la lista representativa (en-US, zh-CN, de-DE, hi-IN, ja-JP…). La salida se vuelve a renderizar en cuanto la cambias.
  5. Ajusta los Decimales mín. / Decimales máx. (0–20) y la casilla Agrupación de millares (separadores de millares activados o desactivados). La caja de Salida se actualiza en vivo; pulsa Copiar para llevarla al portapapeles.

Características clave#

  • Intl nativo del navegador. Usa el mismo Intl.NumberFormat que trae tu entorno, así que la salida coincide con lo que produce una aplicación localizada real: ninguna librería de formato de terceros, ninguna tabla de búsqueda desfasada.
  • Agrupación correcta por configuración regional. Gestiona la agrupación occidental de millares (1,234,567), la agrupación india en lakhs (12,34,567), la agrupación china de cuatro dígitos (estilo 123,4567) y el intercambio punto/coma del alemán de forma automática en cuanto eliges la configuración regional.
  • Notaciones compacta y de ingeniería. La compacta reduce los valores grandes a 1.23M / 1.23B (o 123万 / 12亿 en configuraciones CJK); la de ingeniería mantiene el exponente en múltiplo de 3, lo que se alinea pulcramente con los prefijos SI.
  • Moneda y porcentaje integrados. La moneda admite cualquier código ISO 4217 y coloca el símbolo o la etiqueta donde esa configuración regional espera (antes o después de los dígitos); el porcentaje aplica el signo y el espaciado propios de la configuración regional.
  • Control de decimales. Fija el mínimo y el máximo de decimales (0–20) para forzar ceros finales o acotar decimales ruidosos: las mismas palancas que expone Intl.NumberFormat.

Ejemplo práctico#

Con el valor por defecto 1234567.89, estilo Decimal, notación Estándar, agrupación activada, cambia únicamente la Configuración regional y observa cómo cambian los separadores:

en-US:   1,234,567.89
de-DE:   1.234.567,89
hi-IN:   12,34,567.89

La fila alemana intercambia . y , respecto de la estadounidense. La fila hindi agrupa los últimos seis dígitos como 12,34,567: un lakh es cien mil, así que la convención india agrupa en 2-2-3 desde la derecha en lugar de 3-3-3. Ambas son correctas para su configuración regional; un formateador codificado a mano suele fallar en una de las dos.

Ahora cambia la notación a Compacta y el mismo valor se reduce:

en-US:   1.23M
zh-CN:   123.46万
ja-JP:   123万

El inglés usa la M estilo SI (millón); el chino y el japonés usan la unidad nativa 万 (diez mil), así que 1.234.567 queda en «123,46 decenas de millar» en lugar de «1,23 millones»: la misma cantidad, cuatro representaciones culturalmente esperadas distintas.

Preguntas frecuentes#

¿Por qué se rechaza mi entrada agrupada como 1,000?#

Porque la coma es ambigua: en en-US es un separador de millares, pero en de-DE es el separador decimal. Aceptarla significaría adivinar en silencio la configuración regional de la entrada. La herramienta, en su lugar, toma un valor numérico en bruto y aplica la agrupación de la configuración regional elegida en la salida: ambigüedad nula en ambos sentidos.

¿Por qué el modo compacto muestra 1.23M en inglés pero 123.46万 en chino?#

Porque la notación compacta usa las palabras de magnitud propias de cada configuración regional. El inglés cuenta en miles, millones y billones (potencias de 1000); el chino y el japonés cuentan en 万 (diez mil) y 亿 (cien millones), que son potencias de 10000. El número subyacente es idéntico; solo difiere la unidad de agrupación convencional.

¿Cuándo conviene usar la notación de ingeniería en vez de la científica?#

Ambas expresan un número como una mantisa por una potencia de 10, pero la de ingeniería fuerza el exponente a un múltiplo de 3 (1,234567 × 10⁶, no 1,234567 × 10⁶,y_pico), lo que se corresponde directamente con los prefijos SI (kilo, mega, giga…). Úsala cuando la salida vaya junto a unidades físicas; recurre a la científica cuando solo quieras una forma compacta y normalizada.

¿La opción de moneda convierte tipos de cambio?#

No. El modo moneda solo formatea: escribe 1234.56 como $1,234.56 (en-US) o 1.234,56 € (de-DE) según la posición del símbolo en la configuración regional. No convierte de USD a EUR. Los tipos de cambio cambian cada minuto y requerirían un feed de datos en vivo que esta página, deliberadamente, no tiene.