How can I convert a number to a currency format in JavaScript?
Antek N
antek n profile pic

To convert a number to a currency format in JavaScript, you can use thetoLocaleString() method or a custom formatting function. Here's a step-by-step approach for both methods: 1. UsingtoLocaleString(): - ThetoLocaleString() method is built-in JavaScript and provides an easy way to format numbers into various representations, including currency formats.

1
2
3
4
5
6
7
8

   function formatCurrency(number, currencyCode) {
     return number.toLocaleString('en-US', {
       style: 'currency',
       currency: currencyCode,
     });
   }
   

In this example, theformatCurrency function takes anumber and acurrencyCode as parameters. It uses thetoLocaleString() method on thenumber and specifies the desired formatting options. The'en-US' locale is used as an example, but you can adjust it to your desired locale. Thestyle is set to'currency', and thecurrency option is set to the providedcurrencyCode. The method returns the formatted currency string. 2. Using a custom formatting function: - If you need more control over the formatting or want to handle specific cases, you can create a custom formatting function using JavaScript's string manipulation capabilities.

1
2
3
4
5
6
7
8
9

   function formatCurrency(number, currencyCode) {
     const formatter = new Intl.NumberFormat('en-US', {
       style: 'currency',
       currency: currencyCode,
     });
     return formatter.format(number);
   }
   

In this approach, theformatCurrency function takes anumber and acurrencyCode as parameters. It creates a newIntl.NumberFormat instance with the desired formatting options. The'en-US' locale is used as an example, but you can modify it according to your needs. Thestyle is set to'currency', and thecurrency option is set to the providedcurrencyCode. Theformat() method of theformatter object is used to format thenumber, and the formatted currency string is returned. Here's an example usage of theformatCurrency function:

1
2
3
4

const price = 1234.56;
const formattedPrice = formatCurrency(price, 'USD');
console.log(formattedPrice); // Output: $1,234.56

In this example, theformatCurrency function is called with aprice of1234.56 and acurrencyCode of'USD'. The function formats theprice into a currency format using the specified currency code. The resultingformattedPrice string is"$1,234.56". Choose the method that suits your needs. ThetoLocaleString() method is a convenient option for general currency formatting, while a custom formatting function provides more flexibility for handling specific formatting requirements.