los Intl.NumberFormat() constructor crea Intl.NumberFormat objetos que permiten el formato numérico sensible al idioma.

Sintaxis

newIntl.NumberFormat()newIntl.NumberFormat(locales)newIntl.NumberFormat(locales, options)

Parámetros

localesOpcional

A string con una etiqueta de idioma BCP 47, o un array de tales cadenas. Para la forma e interpretación general de la locales argumento, consulte la página Intl. Se permite la siguiente clave de extensión Unicode:

nu
El sistema de numeración que se utilizará. Los valores posibles incluyen: “adlm“,”ahom“,”arab“,”arabext“,”bali“,”beng“,”bhks“,”brah“,”cakm“,”cham“,”deva“,”diak“,”fullwide“,”gong“,”gonm“,”gujr“,”guru“,”hanidec“,”hmng“,”hmnp“,”java“,”kali“,”khmr“,”knda“,”lana“,”lanatham“,”laoo“,”latn“,”lepc“,”limb“,”mathbold“,”mathdbl“,”mathmono“,”mathsanb“,”mathsans“,”mlym“,”modi“,”mong“,”mroo“,”mtei“,”mymr“,”mymrshan“,”mymrtlng“,”newa“,”nkoo“,”olck“,”orya“,”osma“,”rohg“,”saur“,”segment“,”shrd“,”sind“,”sinh“,”sora“,”sund“,”takr“,”talu“,”tamldec“,”telu“,”thai“,”tibt“,”tirh“,”vaii“,”wara“,”wcho“. – consulte la lista de sistemas de numeración Unicode estándar.
optionsOpcional

Un objeto con algunas o todas las siguientes propiedades:

compactDisplay
Solo se usa cuando notation es “compact“. Toma cualquiera”short“(predeterminado) o”long“.
currency
La moneda que se utilizará en el formato de moneda. Los valores posibles son los códigos de moneda ISO 4217, como “USD“por el dólar estadounidense”,EUR“por el euro, o”CNY“para el RMB chino, consulte el Lista de códigos de moneda y fondos actuales. No existe un valor predeterminado; Si el style es “currency“, los currency la propiedad debe ser proporcionada.
currencyDisplay
Cómo mostrar la moneda en formato de moneda. Los valores posibles son:

  • symbol“para utilizar un símbolo de moneda localizada como €, este es el valor predeterminado,
  • narrowSymbol“para utilizar un símbolo de formato estrecho (” $ 100 “en lugar de” USD 100 “),
  • code“para utilizar el código de moneda ISO,
  • name“para utilizar un nombre de moneda localizada como”dollar“,
currencySign
En muchas configuraciones regionales, el formato de contabilidad significa envolver el número entre paréntesis en lugar de agregar un signo menos. Puede habilitar este formato configurando el currencySign opción a “accounting“. El valor predeterminado es “standard“.
localeMatcher
El algoritmo de coincidencia de configuración regional que se utilizará. Los valores posibles son “lookup” y “best fit“; el valor predeterminado es”best fit“. Para obtener información sobre esta opción, consulte la página Intl.
notation
El formato que debe mostrarse para el número, el valor predeterminado es “standard

  • standard“formato de número sin formato
  • scientific“devuelve el orden de magnitud del número formateado.
  • engineering“devuelve el exponente de diez cuando es divisible por tres
  • compact” string que representa el exponente, los valores predeterminados están utilizando la forma “corta”.
numberingSystem
Sistema de numeración. Los valores posibles incluyen: “arab“,”arabext“,” bali“,”beng“,”deva“,”fullwide“,” gujr“,”guru“,”hanidec“,”khmr“,” knda“,”laoo“,”latn“,”limb“,”mlym“,” mong“,”mymr“,”orya“,”tamldec“,” telu“,”thai“,”tibt“.
signDisplay
Cuándo mostrar el signo del número; por defecto es “auto

  • auto“visualización de signos solo para números negativos
  • never“nunca mostrar letrero
  • always“mostrar siempre el letrero
  • exceptZero“visualización de signos para números positivos y negativos, pero no cero
style
El estilo de formato que se utilizará, el predeterminado es “decimal“.

  • decimal“para el formato de números sin formato.
  • currency“para el formato de moneda.
  • percent“para formato de porcentaje
  • unit“para formato de unidad
unit
La unidad a utilizar en unit formato, los valores posibles son identificadores de unidad central, definidos en UTS # 35, Parte 2, Sección 6. A subconjunto de unidades del Lista llena fue seleccionado para su uso en ECMAScript. Los pares de unidades simples se pueden concatenar con “-per-“para hacer una unidad compuesta. No hay un valor predeterminado; si el style es “unit“, los unit la propiedad debe ser proporcionada.
unitDisplay
El estilo de formato de la unidad que se utilizará en unit formato, el valor predeterminado es “short“.

  • long” (p.ej, 16 litres)
  • short” (p.ej, 16 l)
  • narrow” (p.ej, 16l)
useGrouping
Ya sea para utilizar separadores de agrupación, como separadores de miles o separadores de miles / lakh / crore. Los valores posibles son true y false; el valor predeterminado es true.

Las siguientes propiedades se dividen en dos grupos: minimumIntegerDigits, minimumFractionDigits, y maximumFractionDigits en un grupo, minimumSignificantDigits y maximumSignificantDigits en el otro. Si se define al menos una propiedad del segundo grupo, se ignora el primer grupo.

minimumIntegerDigits
El número mínimo de dígitos enteros que se utilizarán. Los valores posibles son de 1 a 21; el valor predeterminado es 1.
minimumFractionDigits
El número mínimo de dígitos fraccionarios que se utilizarán. Los valores posibles van de 0 a 20; el formato predeterminado para números simples y porcentajes es 0; El valor predeterminado para el formato de moneda es el número de dígitos de unidades menores proporcionados por el Lista de códigos de moneda ISO 4217 (2 si la lista no proporciona esa información).
maximumFractionDigits
El número máximo de dígitos fraccionarios que se utilizarán. Los valores posibles van de 0 a 20; el valor predeterminado para el formato de número simple es el mayor de minimumFractionDigits y 3; el valor predeterminado para el formato de moneda es el mayor de minimumFractionDigits y el número de dígitos de unidades menores proporcionados por el Lista de códigos de moneda ISO 4217 (2 si la lista no proporciona esa información); el valor predeterminado para el formato de porcentaje es el mayor de minimumFractionDigits y 0.
minimumSignificantDigits
El número mínimo de dígitos significativos que se utilizarán. Los valores posibles son de 1 a 21; el valor predeterminado es 1.
maximumSignificantDigits
El número máximo de dígitos significativos a utilizar. Los valores posibles son de 1 a 21; el valor predeterminado es 21.

Ejemplos de

Uso básico

En uso básico sin especificar una configuración regional, un formato string en la configuración regional predeterminada y con las opciones predeterminadas se devuelve.

let amount =3500;

console.log(newIntl.NumberFormat().format(amount));// → '3,500' if in US English locale

Formato decimal y porcentual

let amount =3500;newIntl.NumberFormat('en-US',style:'decimal').format(amount);// → '3,500'newIntl.NumberFormat('en-US',style:'percent').format(amount);// → '350,000%'

Formateo de la unidad

Si el style es 'unit', a unit la propiedad debe ser proporcionada. Opcionalmente, unitDisplay controla el formato de la unidad.

let amount =3500;newIntl.NumberFormat('en-US',style:'unit', unit:'liter').format(amount);// → '3,500 L'newIntl.NumberFormat('en-US',style:'unit', unit:'liter', unitDisplay:'long').format(amount);// → '3,500 liters'

Formato de moneda

Si el style es 'currency', a currency la propiedad debe ser proporcionada. Opcionalmente, currencyDisplay y currencySign controlar el formateo de la unidad.

let amount =-3500;newIntl.NumberFormat('en-US',style:'currency', currency:'USD').format(amount);// → '-$3,500.00'newIntl.NumberFormat('bn',
  style:'currency',
  currency:'USD',
  currencyDisplay:'name').format(amount);// →  '-3,500.00 US dollars'newIntl.NumberFormat('bn',
  style:'currency',
  currency:'USD',
  currencySign:'accounting').format(amount);// →  '($3,500.00)'

Notaciones científicas, de ingeniería o compactas

La notación científica y compacta están representadas por la notation opción y se puede formatear así:

newIntl.NumberFormat('en-US', notation:"scientific").format(987654321);// → 9.877E8newIntl.NumberFormat('pt-PT', notation:"scientific").format(987654321);// → 9,877E8newIntl.NumberFormat('en-GB', notation:"engineering").format(987654321);// → 987.654E6newIntl.NumberFormat('de', notation:"engineering").format(987654321);// → 987,654E6newIntl.NumberFormat('zh-CN', notation:"compact").format(987654321);// → 9.9亿newIntl.NumberFormat('fr',
  notation:"compact",
  compactDisplay:"long").format(987654321);// → 988 millionsnewIntl.NumberFormat('en-GB',
  notation:"compact",
  compactDisplay:"short").format(987654321);// → 988M

Visualización de letreros

Muestre un signo para números positivos y negativos, pero no cero:

newIntl.NumberFormat("en-US",
    style:"percent",
    signDisplay:"exceptZero").format(0.55);// → '+55%'

Tenga en cuenta que cuando el signo de moneda es “contabilidad”, se pueden usar paréntesis en lugar de un signo menos:

newIntl.NumberFormat('bn',
  style:'currency',
  currency:'USD',
  currencySign:'accounting',
  signDisplay:'always').format(-3500);// → '($3,500.00)'

Especificaciones

Especificación
Especificación de la API de internacionalización de ECMAScript (API de internacionalización de ECMAScript)
# sec-intl-numberformat-constructor

Compatibilidad del navegador

Escritorio Móvil
Cromo Borde Firefox explorador de Internet Ópera Safari WebView Android Chrome Android Firefox para Android Opera Android Safari en IOS Internet de Samsung
NumberFormat 24 12 29 11 15 10 4.4 25 56 14 10 1,5
compactDisplay 77 79 78 No 64 14,1 77 77 79 55 14,5 12,0
currencyDisplay 77 79 78 No 64 14.110-14.1 No es compatible currencyDisplay: 'narrowSymbol'. 77 77 79 55 14.510-14.5 No es compatible currencyDisplay: 'narrowSymbol'. 12,0
currencySign 77 79 78 No 64 14,1 77 77 79 55 14,5 12,0
notation 77 79 78 No 64 14,1 77 77 79 55 14,5 12,0
signDisplay 77 79 78 No 64 14,1 77 77 79 55 14,5 12,0
unit 77 79 78 No 64 14,1 77 77 79 55 14,5 12,0
unitDisplay 77 79 78 No 64 14,1 77 77 79 55 14,5 12,0

Ver también

  • Intl.NumberFormat
  • Intl