• 01-09-2013, 01:12:49
    #1
    Merhabalar,
    elimde bir fonksiyon var bu fonksiyon ile girilen ücreti yazı olarak yazıyor.
    ama 1000 ve sonrasında yazmıyor sizce sorun neden olabilir?

    <?php
    //error_reporting(0);
    function tr_toUpper($veri) {
        return strtoupper (str_replace(array ('ı', 'i', 'ğ', 'ü', 'ş', 'ö', 'ç' ),array ('I', 'İ', 'Ğ', 'Ü', 'ş', 'Ö', 'Ç' ),$veri));
    }
    function tr_tc($veri) {
        return strtoupper (str_replace(array ('TUR'),array ('TC'),$veri));
    } 
    
    
    function uclu($uclu) { 
    $uclu=trim($uclu); 
    $yazi = array( 
    "0" => array("2" => "","1" => "","0" => ""), 
    "1" => array("2" => "BİR","1" => "ON","0" => "YÜZ"), 
    "2" => array("2" => "İKİ","1" => "YİRMİ","0" => "İKİYÜZ"), 
    "3" => array("2" => "ÜÇ","1" => "OTUZ","0" => "ÜÇYÜZ"), 
    "4" => array("2" => "DÖRT","1" => "KIRK","0" => "DÖRTYÜZ"), 
    "5" => array("2" => "BEŞ","1" => "ELLİ","0" => "BEŞYÜZ"), 
    "6" => array("2" => "ALTI","1" => "ALTMIŞ","0" => "ALTIYÜZ"), 
    "7" => array("2" => "YEDİ","1" => "YETMİŞ","0" => "YEDİYÜZ"), 
    "8" => array("2" => "SEKİZ","1" => "SEKSEN","0" => "SEKİZYÜZ"), 
    "9" => array("2" => "DOKUZ","1" => "DOKSAN","0" => "DOKUZYÜZ") ); 
    
    $ucluyazi=" "; 
    for ($i=0;$i<=2;$i++){ 
    @$ucluyazi.=$yazi[(substr($uclu,$i,1))][$i]; 
    } 
    return($ucluyazi); 
    } 
    
    function yaziyacevir($sayi) { 
    $olay = array("0" =>" ","1" =>" ","2" =>" ","3" =>" ","4" =>" BİN","5" =>" MİLYON","6" =>" MİLYAR","7" =>" TRİLYON"); 
    //$olay = array("0" =>" ","1" =>" ","2" =>" BİN","3" =>" MİLYON","4" =>" MİLYAR","5" =>" TRİLYON"); 
    $sayi = trim($sayi); 
    $uzunluk = strlen($sayi); 
    if ($uzunluk > 15) exit("Girdiğiniz Sayı Çok Büyük..."); 
    $kalan = $uzunluk-3*($tane=floor($uzunluk/3)); 
    if ($kalan!=0) { 
    $tane++; 
    for ($i=0;$i<=$kalan;$i++) { 
    $sayi="0".$sayi; 
    $uzunluk++; 
    } 
    } 
    $yazi= " "; 
    
    for ($i=$tane;$i>=1;$i--){ 
    if (!($i==2 and (substr($sayi,($uzunluk-($i*3)),3)=="001"))) 
    $yazi.= uclu(substr($sayi,($uzunluk-($i*3)),3)); 
    if ((substr($sayi,($uzunluk-($i*3)),3)!="000")) $yazi.=$olay[$i]; 
    } 
    return ($yazi); 
    } 
    
    echo tr_tc(yaziyacevir(1000));
    ?>
  • 01-09-2013, 17:20:56
    #2
    önerisi olan varmı?
  • 01-09-2013, 19:03:48
    #3
    http://biltek.tubitak.gov.tr/sandik/sayicevir/ bu adresi kullanabilirsin. cURL bilgin varsa "name" adında method post olan bir istek yaptığında dönen sonucu preg_match ile alıp temiz bir sonuç elde edebilirsin.
  • 01-09-2013, 21:59:52
    #4
    İstediğiniz kodu burada paylaşmıştım:

    https://www.r10.net/php/51897-r10-php...post1065264295
  • 01-09-2013, 23:55:07
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Selçuk adlı üyeden alıntı: mesajı görüntüle
    http://biltek.tubitak.gov.tr/sandik/sayicevir/ bu adresi kullanabilirsin. cURL bilgin varsa "name" adında method post olan bir istek yaptığında dönen sonucu preg_match ile alıp temiz bir sonuç elde edebilirsin.
    Üşenmedim yaptım

    İşine yarayacak arkadaş varsa aşağıdaki kodları kullanabilir. Denedim sorunsuz çalışıyor.

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    		<title>Sayıdan Yazıya</title>
    	</head>
    	<body>
    		<form action="" method="post">
    			<input type="text" name="sayi" placeholder="Çevirilecek sayı" value="<?php echo @$_POST['sayi'] ?>" />
    			<input type="submit" value="Çevir" />
    		</form>
    		<?php
    			if($_POST){
    				$ch = curl_init('http://biltek.tubitak.gov.tr/sandik/sayicevir/');
    				curl_setopt($ch, CURLOPT_RETURNTRANSFER, True);
    				curl_setopt($ch, CURLOPT_POST, True);
    				curl_setopt($ch, CURLOPT_POSTFIELDS, 'sayi=' . $_POST['sayi'] . '&tip=kendi&cevir=Çevir');
    				$source = curl_exec($ch);
    				curl_close($ch);
    				preg_match('~</font> (.*?)</td>~si', $source, $result);
    				$result = iconv('windows-1254', 'UTF-8', $result[1]);
    				echo $result;
    			}
    		?>	
    	</body>
    </html>
  • 02-09-2013, 09:32:10
    #6
    Hkan fonksiyonunuzda bir hata bulunmakta.
    Örnegin
    1000 yazdıgımızda: bir bin
    1938 yazdığımızda: bir bin dokuz yüz otuz sekiz

    burada başındaki bir olmaması gerekli
  • 02-09-2013, 10:20:16
    #7
    Kimlik doğrulama veya yönetimden onay bekliyor.
    https://www.r10.net/php/310225-php-il...onksiyonu.html