• 02-02-2009, 02:40:17
    #1
    canım sıkıldı biraz kod yazayım dedim, biraz araştırdım türkiyede böyle bi fonksiyon yok sanırım, aşağıya yazdıgım fonksiyon sayesinde 30 haneye kadar rakamlarınızı türkçe yazıya çevirebilirsiniz.

    fonksiyonun kullanımı şöyledir :

    echo rakam2yazi("260124738920152120345678902123");

    bu yazı ekrana :

    iki yüz atmış oktilyon yüz yirmi dört septilyon yedi yüz otuz sekiz seksilyon dokuz yüz yirmi kentilyon yüz elli iki katrilyon yüz yirmi beş trilyon yüz on yedi milyar beş yüz doksan milyon yüz kırk iki bin dokuz yüz yetmiş altı

    yazısını bastıracaktır.


    <?php
    //bu fonksiyon fatal tarafından r10.net cemaatine aftedilmiştir
    //kullanımı echo rakam2yazi("çevirmek istediğiniz rakam"); şeklindedir.
    
    $birler = array("","bir ","iki ","üç ","dört ","beş ","altı ","yedi ","sekiz ","dokuz ");
    $onlar = array("","on ","yirmi ","otuz ","kırk ","elli ","atmış ","yetmiş ","seksen ","doksan ");
    $yuzler = array("","yüz ","iki yüz ","üç yüz ","dört yüz ","beş yüz ","altı yüz ","yedi yüz ","sekiz yüz ","dokuz yüz ");
    $ek_kelime = array("","","bin ","milyon ","milyar ","trilyon ","katrilyon  ","kentilyon ","seksilyon  ","septilyon ","oktilyon ");
    /////
    function uclukhaneyecevir($rakam)
    { 
    $eksik=(3-strlen($rakam)); for($i=0;$i<$eksik;$i++){$rakam="0".$rakam."";} 
    return $rakam;
    }
    //////
    function uclukyazdir($rakam)
    {
    global $birler; global $onlar; global $yuzler;
    
    $birinci=substr($rakam,2,1);
    $ikinci=substr($rakam,1,1);
    $ucuncu=substr($rakam,0,1);
    $sonhali="$yuzler[$ucuncu] $onlar[$ikinci] $birler[$birinci]";
    return $sonhali;
    }
    ////
    function rakam2yazi($sayi)
    {
    global $birler; global $onlar; global $yuzler; global $ek_kelime;
    
    $ayirsana=explode(",",number_format($sayi));
    $say=count($ayirsana);
    
    //echo number_format($sayi); echo " > ";
    
    for($i=0;$i<$say;$i++)
    {
    echo uclukyazdir(uclukhaneyecevir($ayirsana[$i])); echo $ek_kelime[$say-$i];
    }
    }
    ////
    
    echo rakam2yazi("260124738920152120345678902123"); 
    
    ?>
  • 19-03-2009, 17:35:31
    #2
    Üyeliği durduruldu
    pek sık işime yaramayacak ama yine de teşekkürler arşive attım.
  • 19-03-2009, 17:38:06
    #3
    Üyeliği durduruldu
    fatal adlı üyeden alıntı: mesajı görüntüle
    biraz araştırdım türkiyede böyle bi fonksiyon yok sanırım
    kesin vardır ben kullandığıma göre , ellerinize saglik
  • 07-12-2010, 01:51:19
    #4
    fatal çıktının yanlış olduğunu farketmemişsin sanırım
  • 07-12-2010, 02:46:58
    #5
    anarsamadov adlı üyeden alıntı: mesajı görüntüle
    fatal çıktının yanlış olduğunu farketmemişsin sanırım
    bugün konularımı hortlatma günü heralde :P

    hangi çıktı yanlış geliyor? neyi bastırıyorsun rakam olarak ?
  • 07-12-2010, 06:49:49
    #6
    fatal adlı üyeden alıntı: mesajı görüntüle
    bugün konularımı hortlatma günü heralde :P

    hangi çıktı yanlış geliyor? neyi bastırıyorsun rakam olarak ?
    Roma rakamlarını
  • 07-12-2010, 23:41:41
    #7
    260124738920152120345678902123

    iki yüz atmış oktilyon yüz yirmi dört septilyon yedi yüz otuz sekiz seksilyon dokuz yüz yirmi kentilyon yüz elli iki katrilyon yüz yirmi beş trilyon yüz on yedi milyar beş yüz doksan milyon yüz kırk iki bin dokuz yüz yetmiş altı

    kalın yazdığım yer nerden çıktı? senin girdiğin rakamı diyorum
  • 08-12-2010, 00:33:00
    #8
    anarsamadov adlı üyeden alıntı: mesajı görüntüle
    260124738920152120345678902123

    iki yüz atmış oktilyon yüz yirmi dört septilyon yedi yüz otuz sekiz seksilyon dokuz yüz yirmi kentilyon yüz elli iki katrilyon yüz yirmi beş trilyon yüz on yedi milyar beş yüz doksan milyon yüz kırk iki bin dokuz yüz yetmiş altı

    kalın yazdığım yer nerden çıktı? senin girdiğin rakamı diyorum
    evet o sıkıntıyı yazmayı unutmuşum, çok büyük rakamlarda number_format fonksiyonu sapıtıyor, onun dışında fonksiyon sorunsuz çalışmaktadır.
  • 08-12-2010, 00:33:35
    #9
    fatal adlı üyeden alıntı: mesajı görüntüle
    evet o sıkıntıyı yazmayı unutmuşum, çok büyük rakamlarda number_format fonksiyonu sapıtıyor, onun dışında fonksiyon sorunsuz çalışmaktadır.
    evet ben de onu demek istemistim