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
locales
Opcional-
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.
options
Opcional-
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 elstyle
es “currency
“, loscurrency
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 elstyle
es “unit
“, losunit
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
, ymaximumFractionDigits
en un grupo,minimumSignificantDigits
ymaximumSignificantDigits
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 deminimumFractionDigits
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 deminimumFractionDigits
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
Comentarios y calificaciones del artículo
Si te apasiona la programación, tienes el poder dejar una reseña acerca de qué le añadirías a este post.