> Faqs > Como formatear un textbox type="Number" para poner separadores de miles

Como formatear un textbox type="Number" para poner separadores de miles

Hola. ¿Hay alguna forma para que al capturar un valor en un textbox de tipo type="Number", se desplieguen comas como separadores de miles?

Ejemplo:

123,456.78

Gracias por su atención.

Respuestas

Te sugiero que uses el API de internacionalización para números que dispone Javascript, ya que te ahorrará muchas molestias.

const numero = 900675914.8331;
const formateador = new Intl.NumberFormat('es-ES');
const numeroFormateado = formateador.format(numero);
console.log(numeroFormateado);

Este script te sacaría por la consola el número formateado en español, con el separador de miles "." y el separador de decimales ",".

900.675.914,833

Luego, si lo tienes que usar en un input, puedes enganchar la transformación de un número en el evento "keypress", o "keydown", "keyup" o alguno similar... pero no es un tema trivial.

Además, en mi opinión, en un campo input no deberías separar los miles para la introducción de datos, porque pienso que puede causar más problemas que beneficios. Sí que sería útil a la hora de mostrar los números en el texto de la página.

Igual puedes inspirarte en este artículo para conseguir lo que necesitas: Crear una máscara en un input

Santiago
571 18 45 21