Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.
Intl.NumberFormat
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since septiembre de 2017.
* Some parts of this feature may have varying levels of support.
El objectoIntl.NumberFormat habilita el formato numérico de acuerdo al lenguaje.
In this article
Pruébalo
const number = 123456.789;console.log( new Intl.NumberFormat("de-DE", { style: "currency", currency: "EUR" }).format( number, ),);// Expected output: "123.456,79 €"// The Japanese yen doesn't use a minor unitconsole.log( new Intl.NumberFormat("ja-JP", { style: "currency", currency: "JPY" }).format( number, ),);// Expected output: "¥123,457"// Limit to three significant digitsconsole.log( new Intl.NumberFormat("en-IN", { maximumSignificantDigits: 3 }).format( number, ),);// Expected output: "1,23,000"Constructor
Intl.NumberFormat()Crea un nuevo objecto
NumberFormat.
Métodos estaticos
Intl.NumberFormat.supportedLocalesOf()Regresa un arreglo con idiomas soportados sin necesidad de recurrir a la configuración por defecto en el entorno de ejecución.
Métodos de instancia
Intl.NumberFormat.prototype.format()Función de acceso que formatea un número de acuerdo al lenguaje y a las opciones de formato de este objeto
Intl.NumberFormat.Intl.NumberFormat.prototype.formatToParts()Devuelve un
Arrayde objetos que representan la cadena de números en partes que se pueden usar para el formato personalizado que reconoce la configuración regional.Intl.NumberFormat.prototype.formatRange()Función de acceso que formatea un rango de números de acuerdo a la configuración region y a las opciones de formato del objeto
Intl.NumberFormatdesde el que se llama al método.Intl.NumberFormat.prototype.formatRangeToParts()Devuelve un
Arrayde objetos que representan el rango de cadenas de números en partes que se pueden usar para el formato personalizado que reconoce la configuración regional.Intl.NumberFormat.prototype.resolvedOptions()Devuelve un nuevo objeto con propiedades que reflejan la configuración regional y las opciones de intercalación calculadas durante la inicialización del objeto.
Ejemplo
>Uso básico
En el uso básico sin especificar una configuración regional, se devuelve una cadena formateada en la configuración regional predeterminada y con opciones predeterminadas.
var number = 3500;console.log(new Intl.NumberFormat().format(number));// → '3,500' si está en la region de Estados UnidosUtilizando la configuración regional
Este ejemplo muestra algunas de las variaciones en los formatos de números por región.Para obtener el formato del idioma usado en la interfaz de usuario de tu aplicación, asegúrate de especificar dicho idioma (y de ser posible alternativas) utilizando el argumentolocales:
var number = 123456.789;// En el alemán la coma se utiliza como separador decimal y el punto para los millaresconsole.log(new Intl.NumberFormat("de-DE").format(number));// → 123.456,789// En la mayoría de los países de lengua arábiga se utilizan también símbolos arábigosconsole.log(new Intl.NumberFormat("ar-EG").format(number));// → ١٢٣٤٥٦٫٧٨٩// En la India se utilizan separadores millares/lakh/croreconsole.log(new Intl.NumberFormat("en-IN").format(number));// → 1,23,456.789// La clave de extensión nu requiere un sistema de numeración, p.ej. el decimal chinoconsole.log(new Intl.NumberFormat("zh-Hans-CN-u-nu-hanidec").format(number));// → 一二三,四五六.七八九// Cuando se requiera un lenguaje que pudiera no ser soportado, como es el caso del Balinés// se recomienda incluir un lenguaje alternativo, en éste caso Indonesioconsole.log(new Intl.NumberFormat(["ban", "id"]).format(number));// → 123.456,789Usando opciones
Los resultados se pueden personalizar usando el argumentoopciones:
var number = 123456.789;// Se establece un formato de divisaconsole.log( new Intl.NumberFormat("de-DE", { style: "currency", currency: "EUR" }).format( number, ),);// → 123.456,79 €// El yen japonés no tiene ninguna unidad menorconsole.log( new Intl.NumberFormat("ja-JP", { style: "currency", currency: "JPY" }).format( number, ),);// → ¥123,457// Limitamos a tres los dígitos significativosconsole.log( new Intl.NumberFormat("en-IN", { maximumSignificantDigits: 3 }).format( number, ),);// → 1,23,000Usando estilos y unidades
console.log( new Intl.NumberFormat("pt-PT", { style: "unit", unit: "kilometer-per-hour", }).format(50),);// → 50 km/hconsole.log( (16).toLocaleString("en-GB", { style: "unit", unit: "liter", unitDisplay: "long", }),);// → 16 litrosPolyfill
Especificaciones
| Specification |
|---|
| ECMAScript® 2026 Internationalization API Specification> # numberformat-objects> |