كمك فوري براي نوشتن يك برنامه براي تبديل عدد به حروف

m_irani

New Member
مي‌خوام يك برنامه بنويسم كه چند تا عدد رو بهش بدم بعد اونا رو با هم جمع كنه جمعشو به حروف برام چاپ كنه.
مثلا چندتا عدد دادم جمعش شده 2345479 مي‌خوام اين رو برام به اين صورت چاپ كنه دو ميليون سيصد و چهل و پنج هزار و چهارصد و هفتاد و نه.
ممنون مي‌شم اگه كمكم كنين خيلي كارم گيره.
 

armanbm

کاربر VIP
فکر کنم یه تابع برای اینکار باشه
ولی اگه خیلی عجله داری یه آرایه بنویس و عدد های 0تا 19 و اعداد 10 - 40 -50 و 60 - 70 - 80 - 90 - 100 و 200 و 300 و... تا 900
اون بالا منظورم از 0 حرف x است چون اشکال فونتی پیش میومد مجبور شدم اینجوری بنویسم.
حالا چرا 0 باید مجهول باشه ؟ منظورم اینه که هر عدد دو رقمی رو که اولش دو باشه رو بیست بخونه + رقم دوومش
مثلا 23 سیستم میبینه دو رقمی هست و حرف اولش هم 2 هست پس مینویسه "بیست" و میره سراغ حرف بعدی میبینه 3 هست و ما بالا هم گفته بودیم که "3" برابر "سه" هست.
. خب این اعداد رو فقط باید بدی و نه چیز دیگه ای.

حالا به سیستم میگی اول تعداد رقم هارو تایین کنه و از راست به چپ بعد از هر سه رقم یه علامت مثلا "،" بزاره.
حالا میگی از چپ به راست تا اولین "،" چند عدد وجود دارد
و...
میدونم این الگوریتم مشکل داره ولط مطلب اصلیش درست هست خودتون باید روش کار کنید. ببخشید باید برم مصافرت نمیتونم بیشتر بنویسم.
 

m_irani

New Member
تشكر و در خواست

سلام
ممنون از لطفت armanbm ولي حقيقت نفهميدم چطور يك همچين الگوريتمي رو پياده كنم.
Mikhak عزيز زبان مورد نظر من جاوااسكريپت كه البته بعد توسط پي اچ پي ميره تو بانك راستش كاربردش براي فيش حقوقي، مي‌خوام يك برنامه براي فيش‌هاي حقوقي بنويسم كه خودش جمع كل رو تبديل كنه به حروف.
ممنون مي‌شم اگه بتونين كمكم كنين راستش خيلي كارم گيره.
 

Mikhak

Active Member
اين كدي كه نوشتم تا يك ميليون كاربرد داره و كلا با php هستش
شايد بشه از اين بهتر هم نوشت
کد:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
<!--
body,td,th {
	font-family: tahoma;
}
-->
</style></head>

<body>
<?php
$n="254786";

$a[1]="يك";
$a[2]="دو";
$a[3]="سه";
$a[4]="چهار";
$a[5]="پنج";
$a[6]="شش";
$a[7]="هفت";
$a[8]="هشت";
$a[9]="نه";
$a[10]="ده";
$a[11]="يازده";
$a[12]="دوازده";
$a[13]="سيزده";
$a[14]="چهارده";
$a[15]="پانزده";
$a[16]="شانزده";
$a[17]="هفده";
$a[18]="هشده";
$a[19]="نوزده";
$a[20]="بيست";
$a[30]="سي";
$a[40]="چهل";
$a[50]="پنجاه";
$a[60]="شصت";
$a[70]="هفتاد";
$a[80]="هشتاد";
$a[90]="نود";
$a[100]="صد";
$a[200]="دويست";
$a[300]="سيصد";
$a[400]="چهارصد";
$a[500]="پانصد";
$a[600]="ششصد";
$a[700]="هفتصد";
$a[800]="هشتصد";
$a[900]="نهصد";
$a[1000]="هزار";

if($n<21)
echo $a[$n];
else {
$len=strlen($n);
//echo "<br>";
for($i=0;$i<$len;$i++)
{
   $count=1;
   for($j=$i+1;$j<$len;$j++)
   {
      	 //echo $n[$i];
		 // echo "<br>";
		  $count*=10;
   }
   $s=$n[$i]*$count;
   //echo "<br>".$n[$i]."-----------$count<br>";
   //echo $s;
   //echo"<br>";
   if(($s>100000) && ($s<1000000)){
   $fisrt=$s/1000;
   $far.=$a[$fisrt];
   }if(($s>10000) && ($s<100000)){
   $fisrt=$s/1000;
   $far.=$a[$fisrt];
   }
   if(($s>1000) && ($s<10000)){
    $first=$s/1000;
   //echo"----------<br>";
   $far.=$a[$first];
   $far.=" ";
   $far.=$a[1000];
   }else{
   $far.=$a[$s];
   }
   if(($i<>$len-1) && ($s<>0))
   $far.=" و ";
}
echo "$n<br>$far";

//echo $far;
}
// code by Sina(Mikhak)
?>
</body>
</html>
حالا به جاي متغير n هر چي بزاري واست تبديل به حروف ميكنه
--------------------------
سينا
 

m_irani

New Member
تشكر

سلام ميخك عزيز بي نهايت ممنون.
البته هنوز آزمايشش نكردم ولي به هر حال خيلي لطف كردي اميدوارم بتوانم جبران كنم.
راستش مي‌خوام يكم پر رويي كنم اگه اشكال نداشته باشه؟ مي‌شه لطف كني جلوي هر بخشش يك مقدار توضيح هم برام بدي چون راستش من تازه مي‌خوام پي اچ پي رو ياد بگيرم البته تا حدودي متوجه شدم اما اگر توضيحي هم بدي خيلي ممنون مي‌شم.
موفق باشي خدا نگهدار
 

جدیدترین ارسال ها

بالا