Function Number ke Rupiah
Berikut adalah contoh kode PHP untuk mengkonversi number ke format Rupiah:
function formatRupiah($angka) {
$rupiah = number_format($angka, 0, ',', '.');
return 'Rp ' . $rupiah;
}
// Contoh penggunaan
$angka = 1500000;
$formatRupiah = formatRupiah($angka);
echo $formatRupiah;
function formatRupiah($angka) {
$rupiah = number_format($angka, 0, ',', '.');
return 'Rp ' . $rupiah;
}
// Contoh penggunaan
$angka = 1500000;
$formatRupiah = formatRupiah($angka);
echo $formatRupiah;
Penjelasan:
Fungsi formatRupiah() menerima angka sebagai parameter dan menggunakan fungsi number_format() untuk mengubah format angka tersebut. Angka tersebut diubah menjadi format dengan pemisah ribuan menggunakan koma (,) dan pemisah desimal menggunakan titik (.). Kemudian, diawali dengan string "Rp " untuk menandakan format mata uang Rupiah. Contoh penggunaan menunjukkan angka 1500000 yang dikonversi menjadi format Rupiah dan dicetak menggunakan echo. Output yang dihasilkan:
Rp 1.500.000
Rp 1.500.000
Dengan menggunakan contoh kode di atas, Kamu dapat mengkonversi angka apa pun ke format Rupiah dengan mudah dalam aplikasi PHP-mu.
Bonus: Function Rupiah ke Terbilang
Jika kamu ingin konversi bilangan ke terbilang cukup gunakan function berikut.
function rupiahToTerbilang($amount)
{
$terbilang = "";
$angka = array("", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas");
if ($amount < 12) {
$terbilang = $angka[$amount];
} elseif ($amount < 20) {
$terbilang = rupiahToTerbilang($amount - 10) . " belas";
} elseif ($amount < 100) {
$terbilang = rupiahToTerbilang(floor($amount / 10)) . " puluh " . rupiahToTerbilang($amount % 10);
} elseif ($amount < 200) {
$terbilang = "seratus " . rupiahToTerbilang($amount - 100);
} elseif ($amount < 1000) {
$terbilang = rupiahToTerbilang(floor($amount / 100)) . " ratus " . rupiahToTerbilang($amount % 100);
} elseif ($amount < 2000) {
$terbilang = "seribu " . rupiahToTerbilang($amount - 1000);
} elseif ($amount < 1000000) {
$terbilang = rupiahToTerbilang(floor($amount / 1000)) . " ribu " . rupiahToTerbilang($amount % 1000);
} elseif ($amount < 1000000000) {
$terbilang = rupiahToTerbilang(floor($amount / 1000000)) . " juta " . rupiahToTerbilang($amount % 1000000);
} elseif ($amount < 1000000000000) {
$terbilang = rupiahToTerbilang(floor($amount / 1000000000)) . " miliar " . rupiahToTerbilang($amount % 1000000000);
} elseif ($amount < 1000000000000000) {
$terbilang = rupiahToTerbilang(floor($amount / 1000000000000)) . " triliun " . rupiahToTerbilang($amount % 1000000000000);
} else {
$terbilang = "jumlah terlalu besar";
}
return trim($terbilang);
}
$amount = 1234567;
$terbilang = rupiahToTerbilang($amount);
echo "Rp " . number_format($amount, 0, ',', '.') . " = " . ucwords($terbilang) . " rupiah.";
function rupiahToTerbilang($amount)
{
$terbilang = "";
$angka = array("", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas");
if ($amount < 12) {
$terbilang = $angka[$amount];
} elseif ($amount < 20) {
$terbilang = rupiahToTerbilang($amount - 10) . " belas";
} elseif ($amount < 100) {
$terbilang = rupiahToTerbilang(floor($amount / 10)) . " puluh " . rupiahToTerbilang($amount % 10);
} elseif ($amount < 200) {
$terbilang = "seratus " . rupiahToTerbilang($amount - 100);
} elseif ($amount < 1000) {
$terbilang = rupiahToTerbilang(floor($amount / 100)) . " ratus " . rupiahToTerbilang($amount % 100);
} elseif ($amount < 2000) {
$terbilang = "seribu " . rupiahToTerbilang($amount - 1000);
} elseif ($amount < 1000000) {
$terbilang = rupiahToTerbilang(floor($amount / 1000)) . " ribu " . rupiahToTerbilang($amount % 1000);
} elseif ($amount < 1000000000) {
$terbilang = rupiahToTerbilang(floor($amount / 1000000)) . " juta " . rupiahToTerbilang($amount % 1000000);
} elseif ($amount < 1000000000000) {
$terbilang = rupiahToTerbilang(floor($amount / 1000000000)) . " miliar " . rupiahToTerbilang($amount % 1000000000);
} elseif ($amount < 1000000000000000) {
$terbilang = rupiahToTerbilang(floor($amount / 1000000000000)) . " triliun " . rupiahToTerbilang($amount % 1000000000000);
} else {
$terbilang = "jumlah terlalu besar";
}
return trim($terbilang);
}
$amount = 1234567;
$terbilang = rupiahToTerbilang($amount);
echo "Rp " . number_format($amount, 0, ',', '.') . " = " . ucwords($terbilang) . " rupiah.";
Semoga membantu :D