<?PHP function tamsayioku($n) { if (!(int)$n) return ''; $basamak = array ( array("", "Bir", "İki", "Üç", "Dört", "Beş", "Altı", "Yedi", "Sekiz", "Dokuz"), array("", "On", "Yirmi", "Otuz", "Kırk", "Elli", "Altmış", "Yetmiş", "Seksen", "Doksan"), array("", "Yüz", "İkiyüz", "Üçyüz", "Dörtyüz", "Beşyüz", "Altıyüz", "Yediyüz", "Sekizyüz", "Dokuzyüz") ); $ucler = array("", "Bin", "Milyon", "Milyar", "Trilyon","Katrilyon","Katrilyar","ve dahasi"); // 0034 deki 00 lari yazdir.virgulden sonraki kisimlarda gerekli. for ($sifir=''; substr($n,0,1)=='0'; $sifir.='Sıfır') $n = substr($n,1); // ters cevir. $str = strrev($n); // tam sayiyi okuyalim $oku = ''; for ($i=0,$d=0;$i<strlen($str);$i++,$d++) { if ($d%3==0) $oku = $ucler[$d/3].$oku;// uc basamak gectik.bin,milyon vs yaz. $oku = $basamak[$d%3][$str[$i]].$oku; } if (substr($oku,0,6)=='BirBin') $oku = substr($oku,3);// birbin hadisesi varsa sil. return $sifir.$oku; } //ONDALIK veya TAM sayilari okur. function sayioku($n='') { //if ($n==0) {print 'Sıfır'; return;} // sıfırı okutmak için. $bol = explode('.',$n);// ondaligin sagini solunu ayir. $sag = tamsayioku($bol[0]);//tam sayi kismi $sol = tamsayioku($bol[1]);//ondalik kismi $virgul = ($sol) ? 'Virgül' : ''; // ondalik kisim varsa araya virgul koyacaz. if (!$sag&&$sol) $sag = 'Sıfır';// ondalik var ama tam sayi yoksa. sifir virgul .... print $sag.$virgul.$sol; } sayioku(00.010200); print '<br>'; sayioku(0123456789.9876543210); ?>
Leave a Reply