Ir al contenido

Números en Javascript según Locale

Cuando estemos trabajando con números en Javascript deberemos de tener cuidado del sitio en el que está visualizando nuestra aplicación. Es por ello que vamos a ver cómo podemos tratar los números en Javascript según Locale.

Representación de números según localización

Sección titulada «Representación de números según localización»

Dado un número tan sencillo como el siguiente: 11223.48

O escrito en nuestro lenguaje Javascript:

let numero = 11223.48;

Este se visualizará de diferente forma en diferentes sitios. Así podemos tener que:

  • En el Reino Unido o en Estados Unidos se utilizará la coma como separador de miles y el punto como separador de decimales: 12,113.48. Este es el conocido como sistema imperial.
  • Mientras que en países como España (u otros Europeos) será al revés y utilizaremos el punto para separar los miles, mientras que utilizaremos la coma para separar los decimales: 12.113,48. Este es lo que se conoce como coma decimal.
  • Y en el caso de los países árabes se utilizarán los números arábigos. Así nuestro valor se representará de la siguiente forma: ١٢٬١١٣٫٤٨

Para poder tratar los números en Javascript según Locale tendremos que apoyarnos en el método .toLocaleString(locale). Este método se aplica sobre cualquier variable o constante que hayamos definido dentro de nuestro programa en Javascript y recibe el locale de cada sitio:

  • es-ES para España
  • en-US para Inglés Americano
  • ar-EG para el árabe en Egipto

Las etiquetas están atendiendo al formato BCP 47 donde lo primero que se ve es el idioma y luego es seguido por el país o región al que queremos hacer referencia. Puedes consultar el listado completo de locales que se pueden utilizar en el IANA Language Subtag Registry.

Así simplemente tendremos que ejecutar lo siguiente:

let numero = 11223.48;
console.log(numero.toLocaleString('es-ES')); // 11.223,48
console.log(numero.toLocaleString('en-US')); // 11,223.48
console.log(numero.toLocaleString('ar-EG')); // ١١٬٢٢٣٫٤٨

De esta forma obtendremos una cadena de texto de los números en Javascript según Locale. Como se puede observar es algo muy sencillo, pero que deberemos de tener en cuenta cuando hagamos aplicaciones que puedan ser internacionalizadas y tengan usuarios en diferentes localizaciones.

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Números en Javascript según Locale

Uso del método .toLocaleString() para tratar números en Javascript según Locale y así representar comas decimales, sistemas imperiales o número arábigos.

Descargar código