Kamis, 02 June 2022

Fungsi numberFormat untuk Javascript: Panduan Lengkap

Dalam artikel ini saya akan beritahu Anda bagaimana cara membuat fungsi numberFormat didalam 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.

Karteil
Destinasi Utama Belajar Online dengan Format Tulisan yang Elegan
Kunjungi Sekarang

Irsyad A. Panjaitan

Let's start living like no one can help us in any event, so that when we are helped in certain times, it becomes a plus in itself.

Go to Irsyad A. Panjaitan profile
Support me
SaweriaGithub