DEV Community

Cristian Fernando
Cristian Fernando

Posted on

Paracetamol.js💊| #127: Explica este código JavaScript

¿Qué regresa por consola la siguiente función?

Dificultad: Avanzado

const formatearPrecio = ({ cantidad = 0, moneda = "USD", formato = "en-US", maxDecimales = 2}) => {
  return new Intl.NumberFormat(formato, {
    style: 'currency',
    currency: moneda,
    minimumFractionDigits: maxDecimales
  }).format(cantidad);
}

console.log(formatearPrecio({
  cantidad: 3598,
  moneda: 'GBP',
  formato: 'en-GB',
  maxDecimales: 3
}));
Enter fullscreen mode Exit fullscreen mode

A. undefiend
B. $3,598.0
C. £3,598.000
D. Uncaught TypeError: NumberFormat is not a function

Respuesta en el primer comentario.


Top comments (1)

Collapse
 
duxtech profile image
Cristian Fernando

Respuesta:
C. £3,598.000
JavaScript cuenta con un objeto para realizar formateo de valores numéricos de manera nativa.

Para lograrlo solo necesitamos usar el objeto Intl con su método NumberFormat y pasarle 2 parámetros: el formato monetario y un objeto de configuraciones.

¡También es posible formatear valores con unidades de medida y hasta con notación científica! Una verdadera chulada.

Más info sobre esta manera de formatear valores como siempre en la vieja confiable MDN, Intl.NumberFormat() constructor

img