Back

/ 1 min read

Formatear divisas en javascript

A lot of coins

Conforme nuestra aplicación va creciendo, es de vital importancia que nuestra aplicación esté personalizada al entorno local para maximizar la experiencia de usuario.

Formateo nativo

toLocaleString

La función toLocaleString nos permite (dentro de otras cosas) poder formatear números como divisas. Esta función se va a encargar no solo de mostrar el símbolo sino que también de posicionar separadores y centavos.

const valor = 200
const precio = valor.toLocaleString(
'es-DO', // idioma local
{
style: 'currency', // formato de divisa
currency: 'DOP' // moneda elegida
}
)
console.log(precio)
// RD$200.00

Intl.NumberFormat

Si vez tras vez tienes que aplicar la misma configuración de formateo, puedes crear una función utilizando el constructor Intl.NumberFormat, que recibe la configuración y tiene métodos para aplicar ese formato directamente a números.

La documentación de Intl cubre fechas, divisas y mucho más. Leer aquí 👈

const valor = 200
const valorPromocional = 170.5
const formatter = new Intl.NumberFormat(
'es-DO', // idioma local
{
style: 'currency', // formato de divisa
currency: 'DOP' // moneda elegida
}
)
const precio = formatter.format(valor)
const precioPromocional = formatter.format(valorPromocional)
console.log(precio) // RD$200.00
console.log(precioPromocional) // RD$170.50