Intl.NumberFormat

Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

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:

Intl.NumberFormat.prototype.constructor
A reference to Intl.NumberFormat.
Intl.NumberFormat.prototype.format
Getter; returns a function that formats a number according to the locale and formatting options of this NumberFormat object.

Métodos

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

Intl.NumberFormat.prototype.resolvedOptions()
Returns a new object with properties reflecting the locale and collation options computed during initialization of the object.

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

Especificación Estado actual Comentarios
ECMAScript Internationalization API 1.0 (ECMA-402)
The definition of 'Intl.NumberFormat' in that specification.
Standard Definición inicial.

Compatibilidad en navegadores

Prestación Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Soporte básico 24 29 (29) 11 15 Not supported
Prestación Android Chrome para Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Soporte básico Not supported 26 Not supported
bug 864843
Not supported Not supported Not supported

Vea también

Etiquetas y colaboradores del documento

 Colaboradores en esta página: eespitia.rea
 Última actualización por: eespitia.rea,