PDA

View Full Version : سرس برنامه تبدیل عدد به حروف(Download)



MicroGalaxy
چهارشنبه 01 مهر 1383, 19:05 عصر
برنامه زیر یه عدد رو به رشته تبدیل می کنه مثلا
12765=دوازده هزارو هفتصدوشست و پنج رو برمی کردونه
تا 999 میلیارد هم جواب می ده خودتون هم می تونین ارتقاش بدین

MicroGalaxy
چهارشنبه 01 مهر 1383, 19:06 عصر
private string numToStr(ulong num,int level)
{
string [][]numstr=new string[][]
{
new string[]{"صفر","یک","دو","سه","چهار","پنج","شش","هفت","هشت","نه"},
new string[]{"ده","یازده","دوازده","سیزده","چهارده","پانزده","شانزده","هفتده","هیجده","نوزده",
"بیست","سی","چهل","پنجاه","شست","هفتاد","هشتاد","نود"},
new string[]{"","صد","دویست","سیصد","چهارصد","پانصد","ششصد","هفتصد","هشتصد","نهصد"} ,
new string[]{"هزار"},
new string[]{"میلیون"},
new string[]{"میلیارد"}
};
switch (level)
{
case 1:
if(num<10)
return numstr[0][Convert.ToInt32(num)];
else
{
if(num%100<20 && num%100>9)
{
if(num<20)
return numstr[1][Convert.ToInt32(num%10)];
else
return numToStr(num/100,3)+" و "+numstr[1][Convert.ToInt32(num%10)];
}
else
return numToStr(num/10,2)+((num%10!=0)?" و "+numstr[0][Convert.ToInt32(num%10)]:"");
}
case 2:
if(num<10)
return numstr[1][Convert.ToInt32(num%10+8)];
else
return numToStr(num/10,3)+((num%10>=2 )?" و "+numstr[1][Convert.ToInt32(num%10+8)]:"");
case 3:
if(num<10)
return numstr[2][Convert.ToInt32(num%10)];
else
return numToStr(num/10,4)+((num%10!=0)?" و ":"")+numstr[2][Convert.ToInt32(num%10)];
case 4:
if(num<1000)
return numToStr(num,1)+" "+numstr[3][0];
else
return numToStr(num/1000,5)+((Convert.ToInt32(num%1000)!=0)?" و "+numToStr(num%1000,1)+" "+numstr[3][0]:"");
case 5:
if(num<1000)
return numToStr(num,1)+" "+numstr[4][0];
else
return numToStr(num/1000,6)+((Convert.ToInt32(num%1000)!=0)?" و "+numToStr(num%1000,1)+" "+numstr[4][0]:"");
case 6:
if(num<1000)
return numToStr(num,1)+" "+numstr[5][0];
else
return "";
default:
return "";
}
}

Vahab
دوشنبه 13 مهر 1383, 21:11 عصر
Thank You!!!

hsaeedm
جمعه 17 مهر 1383, 14:23 عصر
دستت درد نکنه
جالب بود