Fungsi format nilai Rupiah dengan PHP

Dengan menggunakan PHP untuk menulis angka ke dalam versi rupiah sebaiknya menggunakan fungsi tertentu. Mengapa? Kan lebih baik langsung menulis angkanya dalam bentuk rupiah. OK kalau angka tersebut ditulis di script PHP dengan hardcode (script mati) tidaklah masalah. Bagaimana kalau angka tersebut masuk database?

Lho kan gak masalah? Ntar nampilin PHPnya tinggal panggil field yang berisi nilai angka tersebut.

Kalau cuma untuk nampilin sih gak masalah tapi bagaimana kalau harus melakukan penghitungan (tambah, kurang, bagi, kali, rata-rata, dll). PHP dan Database akan menganggap nilai setelah titik ialah nol. Kecuali kalau Anda mau menulis di script PHP setiap ada titik pada field yang ditampilkan harus dihapus hehe

Alasan lainnya untuk menjaga konsistensi. Kalau datanya masih dikit mungkin bisa rapi bagaimana kalau datanya banyak dan jumlah bilangannya juga besar-besar. 1.233.932 933.223 1.000 11.323.332 Lebih mudah mana dibandingkan menulisnya gini 1233932 933223 1000 11323332 hehe.

Nah dengan membuat fungsi format rupiah sebuah bilangan di kode PHP kita tinggal menaruh nama fungsi tersebut didepan angka yang ingin kita konversi. Berikut fungsinya
function rupiah($angka)
{
$rupiah="";
$rp=strlen($angka);
while ($rp>3)
{
$rupiah = ".". substr($angka,-3). $rupiah;
$s=strlen($angka) - 3;
$angka=substr($angka,0,$s);
$rp=strlen($angka);
}
$rupiah = "Rp." . $angka . $rupiah . ",00-";
return $rupiah;
}
//Coba hasilnya
$uang = 18321739
$hasilnya=rupiah($uang);
echo $hasilnya;

Fungsi strlen berfungsi untuk menghitung jumlah karakter di suatu nilai (huruf atau angka). Sedangkan substr berfungsi untuk memunculkan nilai yang diinginkan.

Met nyoba…

9 thoughts on “Fungsi format nilai Rupiah dengan PHP”

  1. terimakasih buat scriptnya sangat membatu awalnya saya kelimpungan cari script buat format angka…..maju terus yah [-O<

  2. ada yang tau g kenapa saya mengoprasikan hasil angka yang telah di format ko hasilnya ga bisa ya
    contoh 10.000 – 1.000= harusny kan =9.000 kenapa ko jadi
    10.000-1.000=9 ada yang tau apa kesalahan pada scrip saya jadi anggka di blakang ti2k di anggap kosong

Leave a Reply

Your email address will not be published. Required fields are marked *