JavaScript Kullanarak Sayıların Formatını Para Formatına Çevirmek

Merhaba arkadaşlar bugün sizlere JavaScript kullanarak verilen bir değeri para brimi formatına çevirmeden bahsedeceğim.

Bunu bir fonksiyon yapısında hazırladım ve yapmanız gereken bu fonksiyonları projenize dahil ederek kullanmamız gerektiğinde değeri fonksiyona göndererek sonucu almak olacaktır.


Number.prototype.formatMoney = function (fractionDigits, decimal, separator) {
fractionDigits = isNaN(fractionDigits = Math.abs(fractionDigits)) ? 2 : fractionDigits;

decimal = typeof (decimal) === "undefined" ? "." : decimal;

separator = typeof (separator) === "undefined" ? "," : separator;

var number = this;

var neg = number < 0 ? "-" : "";

var wholePart = parseInt(number = Math.abs(+number || 0).toFixed(fractionDigits)) + "";

var separtorIndex = (separtorIndex = wholePart.length) > 3 ? separtorIndex % 3 : 0;

return neg +

(separtorIndex ? wholePart.substr(0, separtorIndex) + separator : "") +

wholePart.substr(separtorIndex).replace(/(\d{3})(?=\d)/g, "$1" + separator) +

(fractionDigits ? decimal + Math.abs(number - wholePart).toFixed(fractionDigits).slice(2) : "");

};

Yukarıdaki fonksiyon gönderilen değerin küsüratının kaç basamak olacağını onun neyle ayrılacağını ve birde ondalık kısımlarda neyle ayrılacağını gönderdiğimiz zaman bize sonucu verecektir.

Bu fonksiyonu rahat bir şekilde kullanmak için aşağıdaki fonksiyonu da projemize ekliyoruz.

formatMoney: function (raw) {

return Number(raw).formatMoney(2, ',', '.');

}

Yukarıdaki fonksiyonda da gönderilecek değerin küsüratını virgül ile iki basamak olacak şekilde ayıracaktır ve ondalık kısımlarını da ayırmak için nokta kullanacaktır. Bu kısımları istediğiniz gibi düzenleyebilirsiniz.

Örnek olarak :

formatMoney (15250) – > result : “15.250,00”

formatMoney (15000000) – > result : “15.000.000,00”

formatMoney (55257.36) – > result : “55.257,36”

 

Bir Cevap Yazın