Intl.NumberFormat

Resumen

El objeto Intl.NumberFormat es un constructor para objetos que permiten un formato numérico sensible al idioma.

Sintaxis

new Intl.NumberFormat([locales [, options]])

Intl.NumberFormat.call(this [, locales [, options]])

Parámetros

locales

Cadena o arreglo de cadenas identificadoras para el código de idioma, conforme a BCP 47. Para mayor información con respecto a la forma e interpretación del argumento locales, visite el siguiente enlace: página de Intl. Se admite la siguiente clave de extension Unicode:

nu
El sistema numérico a ser utilizado. Los siguientes son valores admisibles: "arab", "arabext", "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr", "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya", "tamldec", "telu", "thai", "tibt".
options

Objeto con alguna o todas las propiedas listadas a continuación:

localeMatcher
Algoritmo a emplear para establecer el idioma. Los valores admitidos son "lookup" (coincidencia exacta) y "best fit" (mejor coincidencia); el valor por defecto es "best fit". Para mayor información respecto a esta opción visite el siguiente enlace: página de Intl.
style
El estilo de formato a utilizar. Los valores admisibles son "decimal" para un formato numérico simple, "currency" para un formato de divisa, y "percent" para un formato porcentual; el valor por defecto es "decimal".
currency
La divisa a utilizar para el formato de divisa. Los valores admisibles son los establecidos en ISO 4217, por ejemplo "USD" para el dólar americano, "EUR" para el euro, o "CNY" para el RMB chino - para mayor información se recomienda visitar el siguiente enlace: lista actual de códigos de divisa y fondos. No existe un valor por defecto, por lo que si es valor del parámetro style es "currency", deberá proveerse también un valor para la propiedad currency.
currencyDisplay
Descriptor a utilizar para denotar el valor expresado como divisa. Los valores admisibles son "symbol" para utilizar el símbolo local a su contexto, por ejemplo €, "code" para utilizar el código de divisa ISO, "name" para utilizar el nombre local de la divisa, por ejemplo "dollar"; el valor por defecto es "symbol".
useGrouping
Si deberán emplearse o no separadores para agrupamiento, como es el caso de los separadores para millares o separadores millares/lakh/crore. Los valores admisibles son true y false; el valor por defecto es true.

Las propiedades descritas a continuación se dividen en dos grupos: por un lado minimumIntegerDigits, minimumFractionDigits y maximumFractionDigits, por el otro minimumSignificantDigits y maximumSignificantDigits. Si al menos una propiedad del segundo grupo es definida, todas aquellas del primero serán ignoradas.

minimumIntegerDigits
El número mínimo de digitos enteros a utilizar. El rango de valores admisibles va desde 1 hasta 21; el valor por defecto es 1.
minimumFractionDigits
El número mínimo de digitos fraccionarios a utilizar. El rango de valores admisibles va desde 0 hasta 20; el valor por defecto para formato simple y porcentual es 0; el valor por defecto para formato de divisa es el indicado en la lista de códigos de moneda ISO 4217 para subdivisiones de tal divisa (o 2 si la lista no establece un valor).
maximumFractionDigits
El número máximo de dígitos de fraccionarios a utilizar. El rango de valores admisibles va desde 0 hasta 20; el valor por defecto para formato simple es el valor más alto admisible en minimumFractionDigits y 3; el valor por defecto para el formato de moneda es el valor más alto admisible en minimumFractionDigits y el indicado en la lista de cógidos de moneda ISO 4217 para subdivisiones de tal divisa (o 2 si la lista no establece un valor); el valor por defecto en el formato porcentual es el valor más alto admisible en minimumFractionDigits y 0.
minimumSignificantDigits
El número mínimo de dígitos significativos a utilizar. El rango de valores admisibles va desde 1 hasta 21; el valor por defecto es 1.
maximumSignificantDigits
El número máximo de dígitos significativos a utilizar. El rango de valores admisibles va desde 1 hasta 21; el valor por defecto es minimumSignificantDigits.

Descripción

Propiedades

Intl.NumberFormat.prototype
Permite agregar nuevas propiedades a todos los objetos.

Métodos

Intl.NumberFormat.supportedLocalesOf()
Regresa un arreglo con aquellos códigos de idioma proveídos y que son soportados sin necesidad de recurrir a la configuración por defecto en el entorno de ejecucion.

Instancias NumberFormat

Propiedades

Toda instancia de NumberFormat hereda las siguientes propiedades de su prototipo:

Métodos

Toda instancia de NumberFormat hereda los siguientes métodos de su prototipo:

Ejemplos

Al no especificar un código de idioma, se regresa una cadena con el formato correspondiente al código de idioma y opciones disponibles por defecto en el entorno de ejecución.

var number = 3500;

alert(new Intl.NumberFormat().format(number));
// → "3,500" si el código de idioma es US English

Ejemplo: Utilizando locales

Este ejemplo muestra algunas de las variantes en formato numérico con diferentes contextos locales. A fin de emplear el idioma correspondiente a aquél en la interfaz del usuario para su aplicación, asegúrese de especificar dicho idioma ( y de ser posible alternativas) utilizando el argumento locales:

var number = 123456.789;

// En el alemán la coma se utiliza como separador decimal y el punto para los millares
alert(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ábigos
alert(new Intl.NumberFormat("ar-EG").format(number));
// → ١٢٣٤٥٦٫٧٨٩

// En la India se utilizan separadores millares/lakh/crore
alert(new Intl.NumberFormat("en-IN").format(number));
// → 1,23,456.789

// use de nu para establecer un sistema numérico, el sistema decimal chino por ejemplo
alert(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 Indonesio
alert(new Intl.NumberFormat(["ban", "id"]).format(number));
// → 123.456,789

Ejemplo: Utilizando options

El valor que regresa la función toLocaleString puede ser modificado utilizando el argumento options:

var number = 123456.789;

// se establece un formato de divisa
alert(new Intl.NumberFormat("de-DE", {style: "currency", currency: "EUR"}).format(number));
// → 123.456,79 €

// el yen japonés no tiene ninguna subdivisión
alert(new Intl.NumberFormat("ja-JP", {style: "currency", currency: "JPY"}).format(number))
// → ¥123,457

// limitamos a tres los dígitos significativos
alert(new Intl.NumberFormat("en-IN", {maximumSignificantDigits: 3}).format(number));
// → 1,23,000

Especificaciones

Compatibilidad de los navegadores

BCD tables only load in the browser

Vea también