los toLocaleString() el método devuelve un string con una representación sensible al idioma de este número.

Sintaxis

toLocaleString()toLocaleString(locales)toLocaleString(locales, options)

Parámetros

los locales y options Los argumentos personalizan el comportamiento de la función y permiten que las aplicaciones especifiquen el lenguaje cuyas convenciones de formato deben usarse. En implementaciones, que ignoran la locales y options argumentos, la configuración regional utilizada y la forma de la string devueltos dependen totalmente de la implementación.

Ver el Intl.NumberFormat() constructor para obtener detalles sobre estos parámetros y cómo usarlos.

Valor devuelto

A string con una representación sensible al idioma del número dado.

Rendimiento

Al formatear un gran número de números, es mejor crear un Intl/NumberFormat objeto y utilizar la función proporcionada por su Intl/NumberFormat/format propiedad.

Ejemplos de

Utilizando toLocaleString

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.

var number =3500;

console.log(number.toLocaleString());// Displays "3,500" if in U.S. English locale

Comprobando soporte para locales y options argumentos

los locales y options Los argumentos aún no son compatibles con todos los navegadores. Para comprobar el soporte en ES5.1 y las implementaciones posteriores, el requisito de que las etiquetas de idioma ilegales se rechacen con un RangeError se puede utilizar una excepción:

functiontoLocaleStringSupportsLocales()var number =0;try
    number.toLocaleString('i');catch(e)return e.name ==='RangeError';returnfalse;

Antes de ES5.1, no se requerían implementaciones para lanzar una excepción de error de rango si toLocaleString se llama con argumentos.

Una verificación que funciona en todos los hosts, incluidos los que admiten ECMA-262 antes de la edición 5.1, es probar las características especificadas en ECMA-402 que se requieren para admitir opciones regionales para Number.prototype.toLocaleString directamente:

functiontoLocaleStringSupportsOptions()return!!(typeof Intl =='object'&& Intl &&typeof Intl.NumberFormat =='function');

Esto prueba una global Intl objeto, comprueba que no es null y que tiene un NumberFormat propiedad que es una función.

Utilizando locales

Este ejemplo muestra algunas de las variaciones en los formatos de números localizados. Para obtener el formato del idioma usado en la interfaz de usuario de su aplicación, asegúrese de especificar ese idioma (y posiblemente algunos idiomas de respaldo) usando el locales argumento:

var number =123456.789;// German uses comma as decimal separator and period for thousands
console.log(number.toLocaleString('de-DE'));// → 123.456,789// Arabic in most Arabic speaking countries uses Eastern Arabic digits
console.log(number.toLocaleString('ar-EG'));// → ١٢٣٤٥٦٫٧٨٩// India uses thousands/lakh/crore separators
console.log(number.toLocaleString('en-IN'));// → 1,23,456.789// the nu extension key requests a numbering system, e.g. Chinese decimal
console.log(number.toLocaleString('zh-Hans-CN-u-nu-hanidec'));// → 一二三,四五六.七八九// when requesting a language that may not be supported, such as// Balinese, include a fallback language, in this case Indonesian
console.log(number.toLocaleString(['ban','id']));// → 123.456,789

Utilizando options

Los resultados proporcionados por toLocaleString se puede personalizar con el options argumento:

var number =123456.789;// request a currency format
console.log(number.toLocaleString('de-DE', style:'currency', currency:'EUR'));// → 123.456,79 €// the Japanese yen doesn't use a minor unit
console.log(number.toLocaleString('ja-JP', style:'currency', currency:'JPY'))// → ¥123,457// limit to three significant digits
console.log(number.toLocaleString('en-IN', maximumSignificantDigits:3));// → 1,23,000// Use the host default language with options for number formattingvar num =30000.65;
console.log(num.toLocaleString(undefined,minimumFractionDigits:2, maximumFractionDigits:2));// → "30,000.65" where English is the default language, or// → "30.000,65" where German is the default language, or// → "30 000,65" where French is the default language

Especificaciones

Especificación
Especificación del lenguaje ECMAScript (ECMAScript)
# sec-number.prototype.tolocalestring
Especificación de la API de internacionalización de ECMAScript (API de internacionalización de ECMAScript)
# sup-number.prototype.tolocalestring

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
toLocaleString 1 12 Antes de Edge 18, los números se redondean a 15 dígitos decimales. Por ejemplo, (1000000000000005).toLocaleString('en-US') devoluciones "1,000,000,000,000,010". 1 5 En Internet Explorer 11, los números se redondean a 15 dígitos decimales. Por ejemplo, (1000000000000005).toLocaleString('en-US') devoluciones "1,000,000,000,000,010". 4 1 1 18 4 10.1 1 1.0
locales 24 12 29 11 15 10 4.4 26 56 14 10 1,5
options 24 12 29 11 15 10 4.4 26 56 14 10 1,5

Ver también

  • Number.prototype.toString()