Türk Parasının Yazıyla Okunuş Sınıfı

PHP
59 lines
<?php
class paraOku{
public $bir = array("","bir","iki","üç","dört","beş","altı","yedi","sekiz","dokuz");
public $on = array("","on","yirmi","otuz","kırk","elli","atmış","yetmiş","seksen","doksan");
public $ek = array("","yüz","bin","milyon","milyar","trilyon","katrilyon","kentilyon","seksilyon","septilyon","oktilyon");
function cevir($para){
$ayir=explode(".",$para);
$lira=$this->okut($ayir[0])." Türk Lirası";
$kurus="";
if(count($ayir)==2){
$kurus=($ayir[1]!="")?",".$this->okut($ayir[1])." Kuruş":"";
}
return str_replace(" "," ",$lira.$kurus);
}
function uclu($rakam){
if(strlen($rakam)==1){ return $this->bir[substr($rakam,0,1)];}
if(strlen($rakam)==2){ return $this->on[substr($rakam,0,1)]."".$this->bir[substr($rakam,1,1)];}
if(strlen($rakam)==3){
if(substr($rakam,0,1) > 0){
if(substr($rakam,0,1) == 1){
$yuzler=$this->ek[1];
}else{
$yuzler=$this->bir[substr($rakam,0,1)].$this->ek[1];
}
}else{
$yuzler=$this->bir[substr($rakam,0,1)];
}
$m=$yuzler."".$this->on[substr($rakam,1,1)]."".$this->bir[substr($rakam,2,1)];
return $this->ilkharfbuyut($m);
}
}
function ilkharfbuyut($metin){
mb_internal_encoding('UTF-8');
return mb_strtoupper(mb_substr($metin,0,1)).mb_substr($metin,1,mb_strlen($metin)-1);
}
function okut($n){
$m=null;
$ns=explode(',',number_format($n));
for($i=0;$i<count($ns);$i++){
$j=(count($ns)-$i);
if($j > 1){
if($ns[$i] == 1 and $this->ek[$j] =="bin"){
$m.=$this->ek[$j]." ";
}else{
if($ns[$i] !="000"){
$m.=$this->uclu($ns[$i])."".$this->ek[$j]." ";
}
}
}else{
$m.=$this->uclu($ns[$i])."";
}
}
return str_replace(" "," ",$this->ilkharfbuyut($m));
}
}
$po=new paraOku();
echo $po->cevir(3432);
echo "<br>";
echo $po->cevir(140200.99);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
2 lines
Üçbin Dörtyüzotuziki Türk Lirası
Yüzkırkbin Ikiyüz Türk Lirası,Oniki Kuruş
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX