16-07-19, 04:36 PM
السلام عليكم
تفضل اخي انشاء الله لايظهر فيه خطأ جربه
وان وجد قم بتعديله انت
كود :
public string NoToTxt(double TheNo, string MyCur, string MySubCur)
{
string tempNoToTxt = null;
string[] MyArry1 = new string[10];
string[] MyArry2 = new string[10];
string[] MyArry3 = new string[10];
string MyNo = "";
string GetNo = "";
string RdNo = "";
string My100 = "";
string My10 = "";
string My1 = "";
string My11 = "";
string My12 = "";
string GetTxt = "";
string Mybillion = "";
string MyMillion = "";
string MyThou = "";
string MyHun = "";
string MyFraction = "";
string MyAnd = "";
int i = 0;
string ReMark = "";
if (TheNo > 999999999999.99)
{
}
if (TheNo == 0)
{
return "صفر";
}
MyAnd = " و";
MyArry1[0] = "";
MyArry1[1] = "مائة";
MyArry1[2] = "مائتان";
MyArry1[3] = "ثلاثمائة";
MyArry1[4] = "أربعمائة";
MyArry1[5] = "خمسمائة";
MyArry1[6] = "ستمائة";
MyArry1[7] = "سبعمائة";
MyArry1[8] = "ثمانمائة";
MyArry1[9] = "تسعمائة";
MyArry2[0] = "";
MyArry2[1] = " عشر";
MyArry2[2] = "عشرون";
MyArry2[3] = "ثلاثون";
MyArry2[4] = "أربعون";
MyArry2[5] = "خمسون";
MyArry2[6] = "ستون";
MyArry2[7] = "سبعون";
MyArry2[8] = "ثمانون";
MyArry2[9] = "تسعون";
MyArry3[0] = "";
MyArry3[1] = "واحد";
MyArry3[2] = "اثنان";
MyArry3[3] = "ثلاثة";
MyArry3[4] = "أربعة";
MyArry3[5] = "خمسة";
MyArry3[6] = "ستة";
MyArry3[7] = "سبعة";
MyArry3[8] = "ثمانية";
MyArry3[9] = "تسعة";
//======================
GetNo = TheNo.ToString("000000000000.00");
i = 0;
while (i < 15)
{
if (i < 12)
{
MyNo = GetNo.Substring(i, 3);
}
else
{
MyNo = "0" + GetNo.Substring((i + 2) - 1, 2);
}
if ((MyNo.Substring(0, 3)).CompareTo(0.ToString()) > 0)
{
RdNo = MyNo.Substring(0, 1);
My100 = MyArry1[Convert.ToInt32(RdNo)];
RdNo = MyNo.Substring(2, 1);
My1 = MyArry3[Convert.ToInt32(RdNo)];
RdNo = MyNo.Substring(1, 1);
My10 = MyArry2[Convert.ToInt32(RdNo)];
if (MyNo.Substring(1, 2) == 11.ToString())
{
My11 = "إحدى عشر";
}
if (MyNo.Substring(1, 2) == 12.ToString())
{
My12 = "إثنى عشر";
}
if (MyNo.Substring(1, 2) == 10.ToString())
{
My10 = "عشرة";
}
if (((MyNo.Substring(0, 1)).CompareTo(0.ToString()) > 0) && ((MyNo.Substring(1, 2)).CompareTo(0.ToString()) > 0))
{
My100 = My100 + MyAnd;
}
if (((MyNo.Substring(2, 1)).CompareTo(0.ToString()) > 0) && ((MyNo.Substring(1, 1)).CompareTo(1.ToString()) > 0))
{
My1 = My1 + MyAnd;
}
GetTxt = My100 + My1 + My10;
if (((MyNo.Substring(2, 1)) == 1.ToString()) && ((MyNo.Substring(1, 1)) == 1.ToString()))
{
GetTxt = My100 + My11;
if ((MyNo.Substring(0, 1)) == 0.ToString())
{
GetTxt = My11;
}
}
if (((MyNo.Substring(2, 1)) == 2.ToString()) && ((MyNo.Substring(1, 1)) == 1.ToString()))
{
GetTxt = My100 + My12;
if ((MyNo.Substring(0, 1)) == 0.ToString())
{
GetTxt = My12;
}
}
if ((i == 0) && (!string.IsNullOrEmpty(GetTxt)))
{
if ((MyNo.Substring(0, 3)).CompareTo(10.ToString()) > 0)
{
Mybillion = GetTxt + " مليار";
}
else
{
Mybillion = GetTxt + " مليارات";
if ((MyNo.Substring(0, 3)) == 2.ToString())
{
Mybillion = " مليار";
}
if ((MyNo.Substring(0, 3)) == 2.ToString())
{
Mybillion = " ملياران";
}
}
}
if ((i == 3) && (!string.IsNullOrEmpty(GetTxt)))
{
if ((MyNo.Substring(0, 3)).CompareTo(10.ToString()) > 0)
{
MyMillion = GetTxt + " مليون";
}
else
{
MyMillion = GetTxt + " ملايين";
if ((MyNo.Substring(0, 3)) == 1.ToString())
{
MyMillion = " مليون";
}
if ((MyNo.Substring(0, 3)) == 2.ToString())
{
MyMillion = " مليونان";
}
}
}
if ((i == 6) && (!string.IsNullOrEmpty(GetTxt)))
{
if ((MyNo.Substring(0, 3)).CompareTo(10.ToString()) > 0)
{
MyThou = GetTxt + " ألف";
}
else
{
MyThou = GetTxt + " آلاف";
if ((MyNo.Substring(2, 1)) == 1.ToString())
{
MyThou = " ألف";
}
if ((MyNo.Substring(2, 1)) == 2.ToString())
{
MyThou = " ألفان";
}
}
}
if ((i == 9) && (!string.IsNullOrEmpty(GetTxt)))
{
MyHun = GetTxt;
}
if ((i == 12) && (!string.IsNullOrEmpty(GetTxt)))
{
MyFraction = GetTxt;
}
}
i = i + 3;
}
if (!string.IsNullOrEmpty(Mybillion))
{
if ((!string.IsNullOrEmpty(MyMillion)) || (!string.IsNullOrEmpty(MyThou)) || (!string.IsNullOrEmpty(MyHun)))
{
Mybillion = Mybillion + MyAnd;
}
}
if (!string.IsNullOrEmpty(MyMillion))
{
if ((!string.IsNullOrEmpty(MyThou)) || (!string.IsNullOrEmpty(MyHun)))
{
MyMillion = MyMillion + MyAnd;
}
}
if (!string.IsNullOrEmpty(MyThou))
{
if (!string.IsNullOrEmpty(MyHun))
{
MyThou = MyThou + MyAnd;
}
}
if (!string.IsNullOrEmpty(MyFraction))
{
if ((!string.IsNullOrEmpty(Mybillion)) || (!string.IsNullOrEmpty(MyMillion)) || (!string.IsNullOrEmpty(MyThou)) || (!string.IsNullOrEmpty(MyHun)))
{
tempNoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur + MyAnd + MyFraction + " " + MySubCur;
}
else
{
tempNoToTxt = ReMark + MyFraction + " " + MySubCur;
}
}
else
{
tempNoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur;
}
return tempNoToTxt;
}اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
