Go back
1 month ago

numberFormat Untuk Javascript

numberFormat untuk javascript

Dalam artikel ini kita akan membahas bagaimana cara membuat number format dengan menggunakan pure javascript, nah jika Anda datang dari php programming, Anda pasti sudah terbiasa dengan yang namanya fungsi number_format() dalam bahasa tersebut, namun untuk javascript sayang nya itu tidak ada, kecuali Anda memakai yang namanya third-party package.

Baik, berikut adalah snippet yang bisa Anda gunakan.

export const numberFormat = (number, decimals, dec_point, thousands_sep) => {
    number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
    var n = !isFinite(+number) ? 0 : +number,
        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
        sep = typeof thousands_sep === 'undefined' ? ',' : thousands_sep,
        dec = typeof dec_point === 'undefined' ? '.' : dec_point,
        s = '',
        toFixedFix = function (n, prec) {
            var k = Math.pow(10, prec);
            return '' + Math.round(n * k) / k;
        };
    // Fix for IE parseFloat(0.55).toFixed(0) = 0;
    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
    if (s[0].length > 3) {
        s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
    }
    if ((s[1] || '').length < prec) {
        s[1] = s[1] || '';
        s[1] += new Array(prec - s[1].length + 1).join('0');
    }
    return s.join(dec);
};

Untuk lebih jelas saja, Anda bisa mengetahui beberapa tipe data untuk parameternya. Anda bisa tambahkan tepat diatas function tersebut.

// @param {string} number
// @param {string} decimals
// @param {string} dec_point
// @param {string} thousands_sep
// @return {string}
export const numberFormat = (number, decimals, dec_point, thousands_sep) => {
...

Nah, ketika Anda ingin menggunakannya, simple dengan cara.

numberFormat(100000) // 100,000

Jika Anda ingin merubah decimal, atau pun seperator dari angka tersebut, bisa dengan cara seperti ini.

numberFormat(100000, 0, 0, '.') // 100.000

Semoga bermanfaat, jangan lupa untuk berbagi dengan teman, tekan tombol love untuk bookmark.