PDA

View Full Version : سوال: تبدیل عدد به حروف



tooka123
سه شنبه 11 شهریور 1393, 20:19 عصر
سلام من برای تبدیل عدد به حروف از تابع زیر استفاده کردم ولی در تبدیل اعداد اعشار مشکل داره و همچنین اگر صفر هم بین عددها باشه خطا می ده , لطفاً راهنمایی کنید و اگه کد دیگه ای رو سرغ دارید معرفی کنید ممنون




$fn1=array('','یک','دو','سه','چهار','پ ج','شش','هفت','هشت','نه','ده','یا ده','دوازده','سیزده','چهارده', 'پانزده','شانزده','هفده','هیجد ه','نوزده','بیست');
$fn2=array('','','بیست','سی','چهل','پن اه','شصت','هفتاد','هشتاد','نود' ,'صد');
$fn3=array('','صد','دویست','سیصد','چه ارصد','پانصد','ششصد','هفتصد','ه شتصد','نهصد','هزار');
$fn4=array('','دهم','صدم','هزارم','','' ,'','','','','');
function talafozAdad($n,$c=0)
{
global $fn1, $fn2, $fn3;
$n=''.$n;
if($n<21){
return $fn1[$n];
}
if($n<101){
return $fn2[$n[0]].' و '.talafozAdad($n[1]);
}
if($n<1001){
return $fn3[$n[0]].' و '.talafozAdad(substr($n,1));
}
if($n<1000000){
return talafozAdad(substr($n,0,-3)).' هزار و '.talafozAdad(substr($n,-3));
}
if($n<1000000000){
return talafozAdad(substr($n,0,-6)).' میلیون و '.talafozAdad(substr($n,-6));
}
if($n<1000000000000){
return talafozAdad(substr($n,0,-9)).' میلیارد و '.talafozAdad(substr($n,-9));
}
return '';
}
echo talafozAdad(12045);

aalmair
سه شنبه 11 شهریور 1393, 21:54 عصر
تبدیل عدد به حروف فارسی
123038

arashcart (https://goo.gl/1lXQhj)