| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString | [Back] [Original] |
Get to know MDN better
Esta pgina ha sido traducida del ingls por la comunidad. Aprende ms y nete a la comunidad de MDN Web Docs.
This feature is well established and works across many devices and browser versions. Its been available across browsers since julio de 2015.
El mtodo toLocaleString() retorna una representacion localizada del nmero en forma de texto
function eArabic(x) {
return x.toLocaleString("ar-EG");
}
console.log(eArabic(123456.789));
// Expected output: ""
console.log(eArabic("123456.789"));
// Expected output: "123456.789"
console.log(eArabic(NaN));
// Expected output: " "
numObj.toLocaleString([locales [, options]])
Los argumentos locales y options personalizan el comportamiento de la funcion y permite especificar el lenguaje cuyo formato deber ser utilizado. En implementaciones, que ignoran los argumentos locales y options la localizacin utilizada y la forma del texto retornado es enteramente dependiente de la implementacin.
Mira el constructor Intl.NumberFormat() para ver ms detalles sobre los parmetros y como se utilizan.
Un texto con una representacin localizada del nmero dado.
Cuando formateas una gran cantidad de nmeros, es mejor crear un objeto NumberFormat y utilizar la funcin NumberFormat.format.
toLocaleStringUn uso bsico sin especificar locales, retorna un texto formateado con el locales y options por defecto.
var number = 3500;
console.log(number.toLocaleString()); // Muestra "3,500" si se est utilizando la localizacin U.S. English
locales y optionsLos parmetros locales y options no son soportados an por todos los navegadores. Para verificar el soporte en ES5.1 y posteriores implementaciones, se puede utilizar el hecho que los tags invlidos en la localizacin son rechazados con una excepcin RangeError:
function toLocaleStringSupportsLocales() {
var number = 0;
try {
number.toLocaleString("i");
} catch (e) {
return e.name === "RangeError";
}
return false;
}
Antes de ES5.1, las implementaciones no requieren devolver una exepcin RangeError cuando toLocaleString es llamado sin argumentos.
Para verificar que funciona todos los navegadores, incluyendo aquellos que soportan ECMA-262, anterior a ES5.1, se puede verificar por las funcionalidades especificadas en ECMA-402 que requieren soportar opciones regionales para Number.prototype.toLocaleString directamente:
function toLocaleStringSupportsOptions() {
return !!(
typeof Intl == "object" &&
Intl &&
typeof Intl.NumberFormat == "function"
);
}
Esta validacin del objeto global Intl , verificar que no es null (nulo) y que tiene la propiedad NumberFormat que es una funcin.
localesEste ejemplo muestra alguna de las variaciones en los formatos de nmeros localizados. Para obtener el formato de la localizacin utilizada en la interfaz del usuario de tu aplicacin, asegurate de especificar la localizacin (y de ser posible alguna localizacin de respaldo) utilizando el parmetro locales:
var number = 123456.789;
// Aleman utiliza comas como separador decimal y puntos miles
console.log(number.toLocaleString("de-DE"));
// 123.456,789
// Arabe en la mayora de pases de habla Arabe utilizan numerales Eastern Arabic
console.log(number.toLocaleString("ar-EG"));
//
// India utiliza separadores de miles/lakh/crore
console.log(number.toLocaleString("en-IN"));
// 1,23,456.789
// la extensin nu requiere un sistema numerico, e.g. Decimales Chino
console.log(number.toLocaleString("zh-Hans-CN-u-nu-hanidec"));
// ,.
// cuando solicitas un lenguage que podria no ser soportado, como
// Balinese, incluye un lenguaje de respaldo, en este caso Indonesio
console.log(number.toLocaleString(["ban", "id"]));
// 123.456,789
optionsEl resultado proveido por toLocaleString puede ser personalizado utilizando el parmetro options :
var number = 123456.789;
// solicitar un formato de moneda
console.log(
number.toLocaleString("de-DE", { style: "currency", currency: "EUR" }),
);
// 123.456,79
// en Japones yen no utiliza una moneda menor
console.log(
number.toLocaleString("ja-JP", { style: "currency", currency: "JPY" }),
);
// 123,457
// limitar a tres digitos el significante
console.log(number.toLocaleString("en-IN", { maximumSignificantDigits: 3 }));
// 1,23,000
// Utilizar el lenguaje por defecto del host con opciones para el formato del nmero
var num = 30000.65;
console.log(
num.toLocaleString(undefined, {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
}),
);
// "30,000.65" donde English es el lenguaje por defecto, o
// "30.000,65" donde Aleman es el lenguaje por defecto, o
// "30 000,65" donde French es el lenguaje por defecto
| Specification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-number.prototype.tolocalestring |
| ECMAScript 2027 Internationalization API Specification # sup-number.prototype.tolocalestring |
This page was last modified on 29 may 2026 by MDN contributors.
NumberObject/FunctionYour blueprint for a better internet.
Portions of this content are 19982026 by individual mozilla.org contributors. Content available under a Creative Commons license.
| Web Proxy Viewer | New URL | Original Page |