Quiero mostrar números grandes mejor con comas. Entonces, si el número fuera 123456789, mostraría 123,456,789. Miré a mi alrededor, pero solo encontré un código que simplemente no funcionaba de la manera que quería, así que esperaba poder encontrar algo de ayuda aquí. Además, espero que también sea dinámico, por lo que las comas cambiarán a medida que cambie el número.
El número que quiero afectar tiene el id=”valor”.
Eso debería ser todo, no creo que me falte nada. Entonces, de nuevo, quiero que el número con un id=”value” tenga comas cuando sea necesario. Si necesita más información por favor hágamelo saber!
Puedes usar toLocaleString
:
num.toLocaleString('en', {useGrouping:true})
-
¡Esta debería ser la respuesta!
– Jobsamuel
27 de agosto de 2017 a las 15:42
luis eduardo rojas cabrera
Esto fue respondido aquí:
Cómo imprimir un número con comas como separadores de miles en JavaScript
En caso de que no esté interesado en leer la respuesta anterior, el código proporcionado fue este:
function numberWithCommas(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
Si está usando jquery, use algo como:
var val = parseInt($('#value').text());
//Use the code in the answer above to replace the commas.
val = numberWithCommas(val);
$('#value').text(val);
-
Estoy seguro de que esto funcionaría, pero no sé qué hacer con él. Me diste dos códigos, pero dices que uses el segundo, luego en el segundo dices que uses el primero. No estoy seguro de qué hacer.
– Cluck cósmico
4 de enero de 2015 a las 1:59
-
La primera parte del código es solo la función que usará para separar en comas. El segundo código es lo que hace el trabajo real de cambiar su valor a un valor lleno de comas. tenga en cuenta que la respuesta dada por @Jiri Kremser es bastante buena. Considéralo
–Luis Eduardo Rojas Cabrera
4 de enero de 2015 a las 2:01
-
Sigo sin obtener ningún resultado, ¿debería haber cambiado algo en el código?
– Cluck cósmico
4 de enero de 2015 a las 2:05
-
Está bien, ya veo. Funciona, pero no como yo quiero. Eso solo funciona si el número es estacionario y se coloca allí como un número grande. No funcionará si el número está cambiando.
– Cluck cósmico
4 de enero de 2015 a las 2:11
-
Utilice un campo de entrada. Cuando el valor de esa entrada cambie, ejecute la función. Compruébalo aquí: jsfiddle.net/lrojas94/k9dac6x4/1
–Luis Eduardo Rojas Cabrera
4 de enero de 2015 a las 2:12
Hay una sintaxis más simple para toLocaleString:
Number(x).toLocaleString();
Esto le permite colocar el número como una variable en lugar de convertir el número en un objeto.
-
1) números son objetos en javascript; 2) si es una variable que ya es un número, no es necesario reconvertirla,
x.toLocaleString()
funcionará bien; y 3) si está usando un literal, los paréntesis son suficientes(1234567.456).toLocaleString()
– Samson Crowley
8 de abril de 2020 a las 3:16
@michaelpri Acabo de verificar eso e intenté usar el primer código de comentarios y no funciona. No entiendo cómo tomar eso y aplicarlo a mi código para que tome el número correcto.
– Cluck cósmico
4 de enero de 2015 a las 1:54
La pregunta se hizo puramente en términos HTML. Sin embargo, se ha aceptado una respuesta de JavaScript. La respuesta correcta a la pregunta. como se le preguntó es que simplemente debe ingresar el número en el formato deseado en HTML. Si la pregunta tenía que ver con la modificación del contenido HTML en JavaScript, debería haberse cerrado como un duplicado.
– Jukka K. Korpela
4 de enero de 2015 a las 8:24