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…
Ada teman yang memberitahu cara mudahnya yaitu pake fungsi number_format.
echo "Rp.". number_format(18321739,0,"",".") . ",00-";
Sangat membantu saya…..
terima kasih
Wah script nya sangat berguna buat saya.
Trims, atas share nya…
good luck 4 u and all
gimana klo format yang diinginkan untuk misalkan : 1.000.000 diganti dengan format 1 juta ?
terimakasih buat scriptnya sangat membatu awalnya saya kelimpungan cari script buat format angka…..maju terus yah [-O<
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
Kalau format angka dalam desimal….
misalnya : 120.650,75
tlng dong scriptnya…tks, GBU
makasih mas hardono
Pada Saat operasi bilangan, kok gak bisa ya dipake format rupiahnya.???