Cómo formatear un número como valor de moneda en JavaScript

Aprenda a convertir un número en un valor de moneda, utilizando la API de internacionalización de JavaScript

Di que tienes un número como10y representa el precio de algo.

Quieres transformarlo en$10,00.

Sin embargo, si el número tiene más de 3 dígitos, debe mostrarse de manera diferente, por ejemplo1000debe mostrarse como$1,000.00

Sin embargo, esto está en USD.

Los diferentes países tienen diferentes convenciones para mostrar valores.

JavaScript nos lo pone muy fácil con elAPI de internacionalización ECMAScript, una API de navegador relativamente reciente que proporciona muchas funciones de internacionalización, como formato de fecha y hora.

Está muy bien soportado:

Browser support for the internationalization API

const formatter = new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD',
  minimumFractionDigits: 2
})

formatter.format(1000) // “$1,000.00” formatter.format(10) // “$10.00” formatter.format(123233000) // “$123,233,000.00”

losminimumFractionDigitsLa propiedad establece que la parte de la fracción sea siempre de al menos 2 dígitos. Puede comprobar qué otros parámetros puede utilizar enla página NumberFormat MDN.

Este ejemplo crea un formateador de números para la moneda euro, para el país italiano:

const formatter = new Intl.NumberFormat('it-IT', {
  style: 'currency',
  currency: 'EUR'
})

Más tutoriales de js: