Sayi Okutma
Muhasebe veya benzeri uygulamalarda girilen sayinin veya paranın yazi olrakta yazilması gerekir. Bu örnekte bu amaç için yapmış olduğum "yaziyacevir" fonksiyonu kullanılarak bu iş yapılmıştır. Yaziyacevir fonksiyonu yine uygulamanın içinde bulunan uclu fonksiyonuna ihtiyaç duymaktadır.
Yaziyacevir (integer):string;
Bu fonksiyonun çıktısı string yani karakter şeklindedir.
<?php
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" => "ATMIŞ","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" =>" BİN ","3" =>" MİLYON ","4" =>" MİLYAR ","5" =>" TRİLYON ");
$sayi=trim($sayi);
$long=strlen($sayi);
if ($long>15) exit("Sayi Türk lirası için bile çok büyük...");
$kalan=$long-3*($tane=floor($long/3));
if ($kalan!=0) {
$tane++;
for ($i=0;$i<=$kalan;$i++) {
$sayi="0".$sayi;
$long++;
}
}
$yazi="";
for ($i=$tane;$i>=1;$i--){
if (!($i==2 and (substr($sayi,($long-($i*3)),3)=="001")))
$yazi.=uclu(substr($sayi,($long-($i*3)),3));
if ((substr($sayi,($long-($i*3)),3)!="000")) $yazi.=$olay[$i];
}
return ($yazi);
}?>
<Html>
<Body>
<? if (!isset($sayi)):?>
<form name="form" method="get" action="<?=$PHP_SELF;?>">
Sayi ile:
<input type="text" name="sayi" maxlength="15">
<input type="submit" name="Gonder" value="Gonder">
</form>
<?else:?>
Girdiğiniz sayi : <? print($sayi);?><br>
Yazı ile : <?print(yaziyacevir($sayi));?>
<?endif;?>
</Body>
</Html>
Bu konuda sorununun olursa bana tayfun@turk-php.com dan ulaşabilirsiniz.
©TAYFUN ULU
www.e-tayfun.f2s.com
NOT :
Bu dokuman www.turk-php.com için benim tarafımdan yazılmıştır.