Convert Numbers to Arabic Text - C# (.Net)
كود تحويل الأرقام الى نصوص
بلغة C# (.Net)
Based on code on Page (http://layan.us/go/num2text/)
private string arabicNumber(double num)
{
string[] aname = { "واحد", "اثنان", "ثلاثة", "اربعة", "خمسة", "ستة", "سبعة", "ثمانية", "تسعة", "عشرة", "أحد عشر", "اثنا عشر" };
string[] aname10 = { "عشر", "عشرون", "ثلاثون", "اربعون", "خمسون", "ستون", "سبعون", "ثمانون", "تسعون" };
string[] aname100 = { "مئة", "مئتان", "ثلثمائة", "اربعمائة", "خمسمائة", "ستمائة", "سبعمائة", "ثمانمائة", "تسعمائة" };
string[] aname1000 = { "الف", "الفان" };
int num4 = Convert.ToInt32(Math.Floor((num) / 1000));
int num3 = Convert.ToInt32(Math.Floor((num - 1000 * num4) / 100));
int num2 = Convert.ToInt32(Math.Floor((num - 100 * num3) / 10));
int num1 = Convert.ToInt32(num - 10 * num2);
if (num4 == 0 && num > 999)
return aname1000[num4 - 1];
if (num4 > 2 && num4 < 11)
return aname[num4 - 1] + "
و
" + arabicNumber(num - 1000 * num4);
if (num4 > 2 && num4 > 10)
return arabicNumber(num4 - 1) + "
و
" + arabicNumber(num - 1000 * num4);
if (num4 < 3 && num > 1000)
return aname1000[num4 - 1] + "و" + arabicNumber(num - 1000 * num4);
if (num3 == 0 && num > 99)
return aname100[num3 - 1];
if (num3 != 0 && num > 100)
return aname100[num3 - 1] + "
و
" + arabicNumber(num - 100 * num3);
if (num > 12 && num < 20)
return aname[num1 - 1] + aname10[num2 - 1];
if (num > 20 && num % 10 != 0)
return aname[num1 - 1] + "
و
" + aname10[num2 - 1];
if (num < 13)
return aname[Convert.ToInt32(num) - 1];
if (num > 19 && num % 10 == 0)
return aname10[num2 - 1];
return num.ToString();
}
1 comment:
img739msb
golden goose outlet
golden goose outlet
golden goose outlet
golden goose outlet
golden goose outlet
golden goose outlet
golden goose outlet
golden goose outlet
golden goose outlet
golden goose outlet
Post a Comment