JavaScript Intl.NumberFormat Nesnesi

Bazı durumlarda elimizdeki mevcut para değerini yani numeric değeri formatlayıp ülkeye ve dile uygun hale getirmek gerekiyor. Bunu javascript tarafında yaparken eskiden eklenti vs. kullanırdım. Ancak artık javascript’te Intl.NumberFormat nesnesi hayatımızı kurtarıyor.

Önce örneklendirerek konuyu anlayalım, sonra kodlara dökeriz.

1200 değeri bizim para değerimiz olsun. bu formatı TL cinsinden türkiye’de göstermek isteseydim şöyle olması gerekirdi;

₺1.200,00

Eğer bunu $ cinsinden türkiye’de göstermek için formatlamak gerekseydi oda şöyle olacaktı;

$1.200,00

Tabi bu eğer türkçe olarak görmek istersek bu şekilde, atıyorum amerikalılar için formatlamak gerekseydi şöyle gözükecekti;

$1,200.00

Arada bazı noktalama işareti farklılıkları ve bazende currency simgesinin sağda ya da solda olması gibi durumlar oluyor. Tabi bu kuralları biz tek tek bakıp ona göre yapmak yerine javascript’te Intl.NumberFormat nesnesini kullanacağız. Şimdi yukarıdaki örneklerimiz kodlara dökelim.

let moneyFormat = (locale, currency) => {
return new Intl.NumberFormat(locale,
{
style: 'currency',
currency: currency
}
);
};

Burada bir fonksiyon haline getirdim daha kolay kullanalım diye. Şimdi sırasıyla 1200₺ türkiye için, 1200₺ türkiye için ve 1200$ amerika için para formatlarını ayarlayalım.

console.log(moneyFormat('tr-TR', 'TRY').format(1200)); // ₺1.200,00
console.log(moneyFormat('tr-TR', 'USD').format(1200)); // $1.200,00
console.log(moneyFormat('en-US', 'USD').format(1200)); // $1,200.00

Eğer currency gözükmesin isterseniz fonksiyondaki style: ‘currency’ kısmını kaldırabilirsiniz. Bu kadar 🙂 Herkese iyi kodlamalar.

Daha fazla detay için;
https://developer.mozilla.org/tr/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat