How to Convert Numbers to Currency String in javascript
- Admin
- Mar 10, 2024
- Javascript Es6
In Javascript applications, You can store data as numbers, and display the data in currency strings in localized formats.
For example, In a commerce web application, Each product is displayed with a price. Suppose the application shows the dollar as currency to US users, whereas the same data is displayed in Rupees to Indian users.
Every language provides an Internalization API to display the data in localized formats.
Javascript provides default localization and Internalization API to convert localized string format. You can check my other post on Javascript check substring exists in a String
Intl.NumberFormat to convert Numbers into Currency String in Javascript
Intl.NumberFormat
class used to convert to language-specific strings First Create a NumberFormat class
var formatted = new Intl.NumberFormat("en-US", {
style: "currency",
currency: "USD",
//minimumFractionDigits: 0,
//maximumFractionDigits: 0,
});
You need to provide these attributes
- locale string which contains language code and country code, examples ie en-US, ie en-IN,de-DE,ja-JP
- currency string if the style is currency, values are USD, EUR, and JPY, This displays the symbol of currency if style=unit values are liter, kilometer-per-hour
- style : - currency,unit
You can check more about this class here🔗
Here is a complete example
const number = 100000;
console.log(
new Intl.NumberFormat("en-US", {
style: "currency",
currency: "USD",
}).format(number),
); //"$100,000.00"
console.log(
new Intl.NumberFormat("de-DE", {
style: "currency",
currency: "EUR",
}).format(number),
); //"100.000,00 €"
console.log(
new Intl.NumberFormat("ja-JP", {
style: "currency",
currency: "JPY",
}).format(number),
); // "ï¿¥100,000"
console.log(new Intl.NumberFormat("en-IN", {}).format(number));
//"1,00,000"
console.log(new Intl.NumberFormat("ar-EG").format(number));
// "100,000"
number format as currency string using toLocaleString in javascript
toLocaleString
converts the number to a localized currency string.
It takes object, contains style=currency
and currency=USD
options
Here is an example
const number = 1000000;
console.log(
number.toLocaleString("en-US", {
style: "currency",
currency: "USD",
}),
); //$1,000,000.00
console.log(
number.toLocaleString("de-DE", {
style: "currency",
currency: "EUR",
}),
); //1.000.000,00 €
console.log(
number.toLocaleString("ja-JP", {
style: "currency",
currency: "JPY",
}),
); // ï¿¥1,000,000
console.log(
number.toLocaleString("en-IN", {
style: "currency",
currency: "INR",
}),
); //₹10,00,000.00