Php ile Rakamlı Parayı Yazıyla Paraya Çevirme

Merhabalar arkadaşlar, php ile rakamla yazılmış parayı yazıyla yazılmış haline çevirmeye ihtiyacım oldu aşadaki fonksiyon ile 9 basamaklı paraya kadar çevirme yapabilirsiniz.

<?php
    function money($money='0.00') {
        $money = explode('.',$money);
        if(count($money)!=2) return false;
        $money_left = $money['0'];
        $money_right = $money['1'];

        //DOKUZLAR
        if(strlen($money_left)==9){
            $i = (int) floor($money_left/100000000);
            if($i==1) $l9="YÜZ";
            if($i==2) $l9="İKİ YÜZ";
            if($i==3) $l9="ÜÇ YÜZ";
            if($i==4) $l9="DÖRT YÜZ";
            if($i==5) $l9="BEŞ YÜZ";
            if($i==6) $l9="ALTI YÜZ";
            if($i==7) $l9="YEDİ YÜZ";
            if($i==8) $l9="SEKİZ YÜZ";
            if($i==9) $l9="DOKUZ YÜZ";
            if($i==0) $l9="";
            $money_left = substr($money_left,1,strlen($money_left)-1);
        }

        //SEKİZLER
        if(strlen($money_left)==8){
            $i = (int) floor($money_left/10000000);
            if($i==1) $l8="ON";
            if($i==2) $l8="YİRMİ";
            if($i==3) $l8="OTUZ";
            if($i==4) $l8="KIRK";
            if($i==5) $l8="ELLİ";
            if($i==6) $l8="ATMIŞ";
            if($i==7) $l8="YETMİŞ";
            if($i==8) $l8="SEKSEN";
            if($i==9) $l8="DOKSAN";
            if($i==0) $l8="";
            $money_left=substr($money_left,1,strlen($money_left)-1);
        }

        //YEDİLER
        if(strlen($money_left)==7){
            $i = (int) floor($money_left/1000000);
            if($i==1){
                if($i!="NULL"){
                    $l7 = "BİR MİLYON";
                }else{
                    $l7 = "MİLYON";
                }
            }
            if($i==2) $l7="İKİ MİLYON";
            if($i==3) $l7="ÜÇ MİLYON";
            if($i==4) $l7="DÖRT MİLYON";
            if($i==5) $l7="BEŞ MİLYON";
            if($i==6) $l7="ALTI MİLYON";
            if($i==7) $l7="YEDİ MİLYON";
            if($i==8) $l7="SEKİZ MİLYON";
            if($i==9) $l7="DOKUZ MİLYON";
            if($i==0){
                if($i!="NULL"){
                    $l7="MİLYON";
                }else{
                    $l7="";
                }
            }
            $money_left=substr($money_left,1,strlen($money_left)-1);
        }

        //ALTILAR
        if(strlen($money_left)==6){
            $i = (int) floor($money_left/100000);
            if($i==1) $l6="YÜZ";
            if($i==2) $l6="İKİ YÜZ";
            if($i==3) $l6="ÜÇ YÜZ";
            if($i==4) $l6="DÖRT YÜZ";
            if($i==5) $l6="BEŞ YÜZ";
            if($i==6) $l6="ALTI YÜZ";
            if($i==7) $l6="YEDİ YÜZ";
            if($i==8) $l6="SEKİZ YÜZ";
            if($i==9) $l6="DOKUZ YÜZ";
            if($i==0) $l6="";
            $money_left = substr($money_left,1,strlen($money_left)-1);
        }

        //BEŞLER
        if(strlen($money_left)==5){
            $i = (int) floor($money_left/10000);
            if($i==1) $l5="ON BİN";
            if($i==2) $l5="YİRMİ BİN";
            if($i==3) $l5="OTUZ BİN";
            if($i==4) $l5="KIRK BİN";
            if($i==5) $l5="ELLİ BİN";
            if($i==6) $l5="ATMIŞ BİN";
            if($i==7) $l5="YETMİŞ BİN";
            if($i==8) $l5="SEKSEN BİN";
            if($i==9) $l5="DOKSAN BİN";
            if($i==0) $l5="";
            $money_left=substr($money_left,1,strlen($money_left)-1);
        }

        //DÖRTLER
        if(strlen($money_left)==4){
            $i = (int) floor($money_left/1000);
            if($i==1){
                if($i!=""){
                    $l4 = "BİR BİN";
                }else{
                    $l4 = "BİN";
                }
            }
            if($i==2) $l4="İKİ BİN";
            if($i==3) $l4="ÜÇ BİN";
            if($i==4) $l4="DÖRT BİN";
            if($i==5) $l4="BEŞ BİN";
            if($i==6) $l4="ALTI BİN";
            if($i==7) $l4="YEDİ BİN";
            if($i==8) $l4="SEKZ BİN";
            if($i==9) $l4="DOKUZ BİN";
            if($i==0){
                if($i!=""){
                    $l4="BİN";
                }else{
                    $l4="";
                }
            }
            $money_left=substr($money_left,1,strlen($money_left)-1);
        }

        //ÜÇLER
        if(strlen($money_left)==3){
            $i = (int) floor($money_left/100);
            if($i==1) $l3="YÜZ";
            if($i==2) $l3="İKİYÜZ";
            if($i==3) $l3="ÜÇYÜZ";
            if($i==4) $l3="DÖRTYÜZ";
            if($i==5) $l3="BEŞYÜZ";
            if($i==6) $l3="ALTIYÜZ";
            if($i==7) $l3="YEDİYÜZ";
            if($i==8) $l3="SEKİZYÜZ";
            if($i==9) $l3="DOKUZYÜZ";
            if($i==0) $l3="";
            $money_left=substr($money_left,1,strlen($money_left)-1);
        }

        //İKİLER
        if(strlen($money_left)==2){
            $i = (int) floor($money_left/10);
            if($i==1) $l2="ON";
            if($i==2) $l2="YİRMİ";
            if($i==3) $l2="OTUZ";
            if($i==4) $l2="KIRK";
            if($i==5) $l2="ELLİ";
            if($i==6) $l2="ATMIŞ";
            if($i==7) $l2="YETMİŞ";
            if($i==8) $l2="SEKSEN";
            if($i==9) $l2="DOKSAN";
            if($i==0) $l2="";
            $money_left=substr($money_left,1,strlen($money_left)-1);
        }

        //BİRLER
        if(strlen($money_left)==1){
            $i = (int) floor($money_left/1);
            if($i==1) $l1="BİR";
            if($i==2) $l1="İKİ";
            if($i==3) $l1="ÜÇ";
            if($i==4) $l1="DÖRT";
            if($i==5) $l1="BEŞ";
            if($i==6) $l1="ALTI";
            if($i==7) $l1="YEDİ";
            if($i==8) $l1="SEKİZ";
            if($i==9) $l1="DOKUZ";
            if($i==0) $l1="";
            $money_left=substr($money_left,1,strlen($money_left)-1);
        }

        //SAĞ İKİ
        if(strlen($money_right)==2){
            $i = (int) floor($money_right/10);
            if($i==1) $r2="ON";
            if($i==2) $r2="YİRMİ";
            if($i==3) $r2="OTUZ";
            if($i==4) $r2="KIRK";
            if($i==5) $r2="ELLİ";
            if($i==6) $r2="ALTMIŞ";
            if($i==7) $r2="YETMİŞ";
            if($i==8) $r2="SEKSEN";
            if($i==9) $r2="DOKSAN";
            if($i==0) $r2="SIFIR";
            $money_right=substr($money_right,1,strlen($money_right)-1);
        }

        //SAĞ BİR
        if(strlen($money_right)==1){
            $i = (int) floor($money_right/1);
            if($i==1) $r1="BİR";
            if($i==2) $r1="İKİ";
            if($i==3) $r1="ÜÇ";
            if($i==4) $r1="DÖRT";
            if($i==5) $r1="BEŞ";
            if($i==6) $r1="ALTI";
            if($i==7) $r1="YEDİ";
            if($i==8) $r1="SEKİZ";
            if($i==9) $r1="DOKUZ";
            if($i==0) $r1="";
            $money_right=substr($money_right,1,strlen($money_right)-1);
        }

        return "$l9 $l8 $l7 $l6 $l5 $l4 $l3 $l2 $l1 TÜRK LİRASI $r2 $r1 KURUŞ";
    }

	echo money('654214254.62');
?>

Aşağıdaki gibi çıktı verecektir

ALTI YÜZ ELLİ DÖRT MİLYON İKİ YÜZ ON DÖRT BİN İKİYÜZ ELLİ DÖRT TÜRK LİRASI ALTMIŞ İKİ KURUŞ

“Php ile Rakamlı Parayı Yazıyla Paraya Çevirme” üzerine 3 düşünce

  1. Teşekkürler! Güzel kod. Benim php bilgim çok iyi değil ama malesef 20774.12 denediğimde YİRMİ YEDİYÜZ YETMİŞ vs. diye gidiyor yani binlik basamağındaki “0” durumu ile ilgili bir sorun var. Çözebilirseniz haber verirseniz sevinirim bir küçük fatura programı için kullanmak istiyorum…

  2. kod içerisinde beşler yazan bölümde, if($i==2) $l5=”YİRMİ BİN”; vb düzeltme yaptım şuan çalışıyor gibi gözüküyor.
    echo money(‘20774.12′);
    YİRMİ BİN YEDİYÜZ YETMİŞ DÖRT TÜRK LİRASI ON İKİ KURUŞ

  3. Selam;

    Güzel çalışma elinize sağlık. Hocam bu fonksiyonda binlik ayırıcısını nasıl yapabiliriz. Yardımcı olursanız sevinirim.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>