¿Cómo formatear un número con separación de miles por comas en JavaScript?
¡Hola a todos! Soy nuevo en JavaScript y me encontré con este problema: necesito mostrar en la página números grandes, por ejemplo, el precio de un producto o la cantidad de visitas. Pero cuando el número es grande, como 1234567, se ve ilegible. Quiero que se muestre como "1,234,567" — con comas entre los dígitos de miles.
Intenté escribir mi propia función, pero funciona mal:
```javascript
function formatNumber(num) {
let str = num.toString();
let result = '';
for (let i = 0; i < str.length; i++) {
if (i > 0 && i % 3 === 0) {
result = ',' + result;
}
result = str[str.length - 1 - i] + result;
}
return result;
}
console.log(formatNumber(1234567)); // Muestra "1,234,567" — parece funcionar, pero si el número es 123456, entonces obtengo "123,456" — y necesito "123,456".
```
Pero noté que si el número es negativo o tiene parte decimal (por ejemplo, -1234567.89), todo se rompe. Además, creo que mi código es demasiado voluminoso. ¿Pueden