Konversi Angka Ke Currency Dengan JavaScript

Hi, guys! Kali ini saya hadir kembali dengan kegiatan ngoprek ala HaPe dimana kali ini kegiatannya adalah tentang javascript. Saya bukan seorang expert dalam programming javascript tetapi mau tak mau ini harus saya pelajari untuk mendukung pekerjaan saya juga sebagai programmer. Pada kegiatan kali ini saya akan membahas mengenai proses konversi dari angka ke dalam mata uang (currency). Untuk kegiatan ini langkah-langkah yang harus dilakukan adalah sebagai berikut:

1. Membuat Fungsi Menggunakan JavaScript
Pada langkah pertama ini kita akan menulis sebuah fungsi untuk melakukan konversi dari bentuk angka ke dalam mata uang. Fungsi ini saya dapatkan dari stackoverflow. Adapun source-code nya bisa dilihat di baris berikut.

fungsi-rupiah.js

function formatCurrency(amount, decimalSeparator, thousandsSeparator, nDecimalDigits){
    var num = parseFloat( amount ); //convert to float
    //default values
    decimalSeparator = decimalSeparator || '.';
    thousandsSeparator = thousandsSeparator || ',';
    nDecimalDigits = nDecimalDigits == null? 2 : nDecimalDigits;

    var fixed = num.toFixed(nDecimalDigits); //limit or add decimal digits
    //separate begin [$1], middle [$2] and decimal digits [$4]
    var parts = new RegExp('^(-?\\d{1,3})((?:\\d{3})+)(\\.(\\d{' + nDecimalDigits + '}))?$').exec(fixed); 

    if(parts){ //num >= 1000 || num < = -1000
        return parts[1] + parts[2].replace(/\d{3}/g, thousandsSeparator + '$&') + (parts[4] ? decimalSeparator + parts[4] : '');
    }else{
        return fixed.replace('.', decimalSeparator);
    }
}

Dari fungsi diatas:
   - amount, adalah angka yang akan di konversi menjadi mata uang.
   - decimalSeparator, adalah karakter pemisah desimal (mis: 500,00).
   - thousandsSeparator, adalah karakter pemisah perseribu (mis: 5.000).
   - nDecimalDigits, adalah jumlah angka dibelakang koma.

2. Membuat HTML Untuk Memanggil Fungsi JavaScript
Setelah langkah (1) selesai, kini tiba saatnya membuat file HTML untuk memanggil fungsi javascript yang sudah kita buat pada langkah (1) diatas. Fungi untuk memanggilnya bisa dilihat pada source code berikut:
rupiah.html

<html>
    <head>
      <title>Konversi Format Uang</title>
      <script type="text/javascript" src="fungsi-rupiah.js"></script>
    </head>

    <body>
        <form name='formUang' id='formUang' >
            Masukkan Angka:<br/>		
            <input type='text' id='txtUang' name='txtUang'/><br/>
            Hasil Konversi:<br/>		
            <input type='text' id='txtKonversi' name='txtKonversi' readonly/><br/>
            <input type='button' value='Convert' onclick='javascript:txtKonversi.value=formatCurrency(txtUang.value, ",", ".", 2)' />
        </form>
    </body>

</html>

Demikian kegiatan ngoprek ala hape ini saya persembahkan, mudah-mudahan bisa bermanfaat. Sampai ketemu di kegiatan ngoprek ala hape di episode berikutnya.

Leave a Reply