Cómo imprimir un número con comas como separadores de miles en JavaScript
Frecuentes
Visto 1,431 equipos
2063
Estoy intentando imprimir un número entero en JavaScript con comas como separadores de miles. Por ejemplo, quiero mostrar el número 1234567 como "1,234,567". ¿Cómo haría yo para hacer esto?
Así es como lo estoy haciendo:
function numberWithCommas(x) {
x = x.toString();
var pattern = /(-?\d+)(\d{3})/;
while (pattern.test(x))
x = x.replace(pattern, "$1,$2");
return x;
}
¿Existe una forma más sencilla o elegante de hacerlo? Sería bueno que también funcionara con flotadores, pero eso no es necesario. No es necesario que sea específico de la configuración regional para decidir entre puntos y comas.
0 Respuestas
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas javascript formatting numbers integer or haz tu propia pregunta.
Número (x) .toLocaleString () - Boffin
@Boffin, esto no funciona para el número de tipo de entrada (debido a las comas); en la respuesta aceptada, podemos reemplazar la coma por el punto y el número de tipo de entrada funcionará - Vitaly Zdanevich
Vale la pena señalar que
Number.prototype.toLocaleString
aun no funciona en Safari, en 2016. En lugar de formatear realmente el número, simplemente lo devuelve, no arroja ningún error. Tener la palma de la mano más grande hoy como resultado de eso ... #goodworkApple - aendrewSin embargo, parece funcionar en iOS Safari. - Tim
toLocaleString es inconsistente y no debe usarse. Por ejemplo, en Firefox, esto devolverá 1,234 pero en IE esto agregará decimales: 1,234.00 - Bort