private function uclukhaneyecevir($rakam)
{
$eksik=(3-strlen($rakam)); for($i=0;$i<$eksik;$i++){$rakam="0".$rakam."";}
return $rakam;
}
//////
private function uclukyazdir($rakam)
{
//global $birler, $this->onlar, $this->yuzler;
$birinci=substr($rakam,2,1);
$ikinci=substr($rakam,1,1);
$ucuncu=substr($rakam,0,1);
$sonhali=$this->yuzler[$ucuncu]." ".$this->onlar[$ikinci]." ".$this->birler[$birinci];
return $sonhali;
}
function r2y($sayi){
$sayi=str_replace('TL','',$sayi);
$sayi=str_replace(',','',$sayi);
$sayi=str_replace('.','.',$sayi);
list($tam,$ondalik)=explode(".",number_format(floatval($sayi),"2",".","0"));
$ayirsana=explode(",",number_format($tam));
$say=count($ayirsana);
$ayirsanao=explode(",",number_format($ondalik));
$sayo=count($ayirsanao);
//echo number_format($sayi); echo " > ";
//echo $this->yuzler[2];
$tamy="";
$ondaliky="";
for($i=0;$i<$say;$i++)
{
if($ayirsana[$i]!="000"){
$kontrol=$this->uclukyazdir($this->uclukhaneyecevir($ayirsana[$i]))."".$this->ek_kelime[$say-$i];
if(trim($kontrol)=="bir bin"){
$tamy.=$this->ek_kelime[$say-$i];
}else{
$tamy.= $this->uclukyazdir($this->uclukhaneyecevir($ayirsana[$i]))."".$this->ek_kelime[$say-$i];
}
}
}
for($i=0;$i<$sayo;$i++)
{
$kontrol=$this->uclukyazdir($this->uclukhaneyecevir($ayirsanao[$i]))."".$this->ek_kelime[$sayo-$i];
if(trim($kontrol)=="bir bin"){
$ondaliky.=$this->ek_kelime[$sayo-$i];
}else{
$ondaliky.=$this->uclukyazdir($this->uclukhaneyecevir($ayirsanao[$i]))."".$this->ek_kelime[$sayo-$i];
}
}
if($tam>0){$tamsonuc=$tamy." lira ";}else{$tamsonuc="";}
if($ondalik>0){$ondaliksonuc=$ondaliky." kuruş ";}else{$ondaliksonuc="";}
$sonuc=$tamsonuc." ".$ondaliksonuc;
return $sonuc;
}Arkadaşlar bu kodda 1,068.57 rakamını on bin atmış sekiz lira elli yedi kuruş olarak çeviriyor. Sorun nerde anlayamadım. Bir öneriniz var mı acaba?
Rakamı yazıya çeviren fonksiyonda hata
2
●299
- 17-05-2014, 18:44:38