T</>TahuCoding

Mengkonversi Number ke Format Rupiah PHP

Loading...

Function Number ke Rupiah

Berikut adalah contoh kode PHP untuk mengkonversi number ke format Rupiah:

index.php
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

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.

index.php
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