• 12-12-2010, 00:38:54
    #10
    fatal adlı üyeden alıntı: mesajı görüntüle
    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"); 
    
    ?>
    Teşekkürler
    Kod : deneme 2
  • 12-12-2010, 16:41:38
    #11
    Az önce kendim yazdım bi tane. Onu da kullanabilirsiniz.

    https://www.r10.net/1065264295-post78.html
  • 12-12-2010, 17:48:37
    #12
    http://biltek.tubitak.gov.tr/sandik/sayicevir/index.php

    Bu linkten "sapıtmadan" istediğiniz büyüklükte bir sayıyı çevirebilirsiniz Yine de güzel düşünce olmuş,o ayrı konu.

    Girdiğim sayı ;
    63346346346346346346346346346344444446267946835683 5674347348563835674333568563835683568536853683568356

    Girdiğiniz sayının yazı hali: altı yüz otuz üç dotrigintilyon dört yüz altmış üç untrigintilyon dört yüz altmış üç trigintilyon dört yüz altmış üç novemvigintilyon dört yüz altmış üç oktovigintilyon dört yüz altmış üç septenvigintilyon dört yüz altmış üç sexvigintilyon dört yüz altmış üç kenvigintilyon dört yüz altmış üç kattuorvigintilyon dört yüz altmış üç trevigintilyon dört yüz kırk dört dovigintilyon dört yüz kırk dört unvigintilyon dört yüz altmış iki vigintilyon altı yüz yetmiş dokuz novemdesilyon dört yüz altmış sekiz oktodesilyon üç yüz elli altı septendesilyon sekiz yüz otuz beş sexdesilyon altı yüz yetmiş dört kendesilyon üç yüz kırk yedi kattuordesilyon üç yüz kırk sekiz tredesilyon beş yüz altmış üç dodesilyon sekiz yüz otuz beş undesilyon altı yüz yetmiş dört desilyon üç yüz otuz üç nonilyon beş yüz altmış sekiz oktilyon beş yüz altmış üç septilyon sekiz yüz otuz beş seksilyon altı yüz seksen üç kentilyon beş yüz altmış sekiz katrilyon beş yüz otuz altı trilyon sekiz yüz elli üç milyar altı yüz seksen üç milyon beş yüz altmış sekiz bin üç yüz elli altı
  • 13-12-2010, 15:12:21
    #13
    Üyeliği durduruldu
    hocam öncelikle eline saglık bunu sadece mesele 123456 bir sayıyı bir-iki-üç-dört-beş-altı diye yapamazmıyız?