PDA

View Full Version : نمایش اعداد وارد شده کاربر به صورت حروف



javad.jaddi
شنبه 01 مهر 1396, 12:38 عصر
سلام دوستان
چه راهکاری دارید که وقتی کاربرد عدد مثلا '12000000' وارد کرد، در لیبل حروف 'دوازده میلیون' براش ارسال کنیم
ممنون

رامین مرادی
شنبه 01 مهر 1396, 12:56 عصر
در سایت سرچ کنید خیلی مطلب براش هست...
میتونید از کلاس زیر استفاده کنید


public class NumberToText
{
public static String ConvertNumberToText(Int64 Number)
{
if (Number >= 0)
{
if (Number < 20)
{
switch (Number)
{
case 0:
return "صفر";
break;
case 1:
return "یک";
break;
case 2:
return "دو";
break;
case 3:
return "سه";
break;
case 4:
return "چهار";
break;
case 5:
return "پنج";
break;
case 6:
return "شش";
break;
case 7:
return "هفت";
break;
case 8:
return "هشت";
break;
case 9:
return "نه";
break;
case 10:
return "ده";
break;
case 11:
return "یازده";
break;
case 12:
return "دوازده";
break;
case 13:
return "سیزده";
break;
case 14:
return "چهارده";
break;
case 15:
return "پانزده";
break;
case 16:
return "شانزده";
break;
case 17:
return "هفده";
break;
case 18:
return "هجده";
break;
case 19:
return "نوزده";
break;
}
}
else if (Number >= 20 && Number < 100)
{
switch (Number / 10)
{
case 2:
if (Number % 10 == 0)
return "بیست";
else
return "بیست و " + ConvertNumberToText(Number % 10);
break;
case 3:
if (Number % 10 == 0)
return "سی";
else
return "سی و " + ConvertNumberToText(Number % 10);
break;
case 4:
if (Number % 10 == 0)
return "چهل";
else
return "چهل و " + ConvertNumberToText(Number % 10);
break;
case 5:
if (Number % 10 == 0)
return "پنجاه";
else
return "پنجاه و " + ConvertNumberToText(Number % 10);
break;
case 6:
if (Number % 10 == 0)
return "شصت";
else
return "شصت و " + ConvertNumberToText(Number % 10);
break;
case 7:
if (Number % 10 == 0)
return "هفتاد";
else
return "هفتاد و " + ConvertNumberToText(Number % 10);
break;
case 8:
if (Number % 10 == 0)
return "هشتاد";
else
return "هشتاد و " + ConvertNumberToText(Number % 10);
break;
case 9:
if (Number % 10 == 0)
return "نود";
else
return "نود و " + ConvertNumberToText(Number % 10);
break;
}


}
else if (Number >= 100 && Number < 1000)
{
switch (Number / 100)
{
case 1:
if (Number % 100 == 0)
return "صد";
else
return "صد و " + ConvertNumberToText(Number % 100);
break;
case 2:
if (Number % 100 == 0)
return "دویست";
else
return "دویست و " + ConvertNumberToText(Number % 100);
break;
case 3:
if (Number % 100 == 0)
return "سیصد";
else
return "سیصد و " + ConvertNumberToText(Number % 100);
break;
case 4:
if (Number % 100 == 0)
return "چهارصد";
else
return "چهارصد و " + ConvertNumberToText(Number % 100);
break;
case 5:
if (Number % 100 == 0)
return "پانصد";
else
return "پانصد و " + ConvertNumberToText(Number % 100);
break;
case 6:
if (Number % 100 == 0)
return "ششصد";
else
return "ششصد و " + ConvertNumberToText(Number % 100);
break;
case 7:
if (Number % 100 == 0)
return "هفتصد";
else
return "هفتصد و " + ConvertNumberToText(Number % 100);
break;
case 8:
if (Number % 100 == 0)
return "هشتصد";
else
return "هشتصد و " + ConvertNumberToText(Number % 100);
break;
case 9:
if (Number % 100 == 0)
return "نهصد";
else
return "نهصد و " + ConvertNumberToText(Number % 100);
break;
}
}
else if (Number >= 1000 && Number < 1000000)
{
if (Number < 2000 && Number % 1000 == 0)
return "هزار";
else if (Number < 2000 && Number % 1000 != 0)
return "هزار و " + ConvertNumberToText(Number % 1000);




if (Number % 1000 == 0)
return ConvertNumberToText(Number / 1000) + " " + "هزار";
else
return ConvertNumberToText(Number / 1000) + " " + "هزار و " + ConvertNumberToText(Number % 1000);




}


else if (Number >= 1000000 && Number < 1000000000)
if (Number % 1000000 == 0)
return ConvertNumberToText(Number / 1000000) + " " + "میلیون";
else
return ConvertNumberToText(Number / 1000000) + " " + "میلیون و " + ConvertNumberToText(Number % 1000000);


else if (Number >= 1000000000 && Number < 1000000000000)
if (Number % 1000000000 == 0)
return ConvertNumberToText(Number / 1000000000) + " " + "میلیارد";
else
return ConvertNumberToText(Number / 1000000000) + " " + "میلیارد و " + ConvertNumberToText(Number % 1000000000);
}


else
return "منفی " + ConvertNumberToText(-Number);


return "";
}
}