Formateo de números a cadena con moneda en JavaScript: mejores formas
¡Hola a todos! Soy nuevo en JavaScript y me encontré con este problema: necesito mostrar los precios de los productos en el sitio web como una cadena con moneda, por ejemplo "1 234.56 ₽" o "$1,234.56". Intenté hacerlo manualmente con Math.round y concatenación, pero el código queda horrible, especialmente considerando diferentes monedas y locales.
Aquí hay un ejemplo de lo que intenté hacer:
```javascript
function formatPrice(price) {
const rubles = Math.floor(price);
const kopecks = Math.round((price - rubles) * 100);
return rubles + ' ₽ ' + (kopecks < 10 ? '0' : '') + kopecks;
}
```
Pero esto solo funciona para rublos, y con números grandes (por ejemplo, 1000000) obtengo "1000000 ₽ 00", cuando debería ser "1 000 000.00 ₽". Además, si la moneda es dólares, necesito poner el signo de dólar antes del número y usar punto para los miles y coma para los centavos.
Sé que en JavaScript hay algunos métodos integrados, pero no puedo entenderlos. Probé toFixed(2), pero no pone espacios entre los dígitos. Díganme cómo formatear correcta y elegantemente.
No answers yet.
Inicia sesión para dejar una respuesta
Blogs
Concurrencia y multiprocesamiento en JavaScript: Guía completa