المشاركات : 186
المواضيع 33
الإنتساب : Dec 2018
السمعة :
1
الشكر: 187
تم شكره 150 مرات في 105 مشاركات
16-07-19, 03:57 PM
(آخر تعديل لهذه المشاركة : 16-07-19, 04:51 PM {2} بواسطة maxruined .)
السلام عليكم
عندى مشكلة وهى تحويل مشروع تفقيط من vb.net الى #C
هذا هو الكلاس اللى داخل المشروع
كود :
Module Mony_Count
Function NoToTxt(ByVal TheNo As Double, ByVal MyCur As String, ByVal MySubCur As String) As String
Dim MyArry1(0 To 9) As String
Dim MyArry2(0 To 9) As String
Dim MyArry3(0 To 9) As String
Dim MyNo As String = ""
Dim GetNo As String = ""
Dim RdNo As String = ""
Dim My100 As String = ""
Dim My10 As String = ""
Dim My1 As String = ""
Dim My11 As String = ""
Dim My12 As String = ""
Dim GetTxt As String = ""
Dim Mybillion As String = ""
Dim MyMillion As String = ""
Dim MyThou As String = ""
Dim MyHun As String = ""
Dim MyFraction As String = ""
Dim MyAnd As String = ""
Dim i As Integer
Dim ReMark As String = ""
If TheNo > 999999999999.99 Then
End If
If TheNo = 0 Then
NoToTxt = "صفر"
Exit Function
End If
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 = Format(TheNo, "000000000000.00")
i = 0
Do While i < 15
If i < 12 Then
MyNo = Mid$(GetNo, i + 1, 3)
Else
MyNo = "0" + Mid$(GetNo, i + 2, 2)
End If
If (Mid$(MyNo, 1, 3)) > 0 Then
RdNo = Mid$(MyNo, 1, 1)
My100 = MyArry1(RdNo)
RdNo = Mid$(MyNo, 3, 1)
My1 = MyArry3(RdNo)
RdNo = Mid$(MyNo, 2, 1)
My10 = MyArry2(RdNo)
If Mid$(MyNo, 2, 2) = 11 Then My11 = "إحدى عشر"
If Mid$(MyNo, 2, 2) = 12 Then My12 = "إثنى عشر"
If Mid$(MyNo, 2, 2) = 10 Then My10 = "عشرة"
If ((Mid$(MyNo, 1, 1)) > 0) And ((Mid$(MyNo, 2, 2)) > 0) Then My100 = My100 + MyAnd
If ((Mid$(MyNo, 3, 1)) > 0) And ((Mid$(MyNo, 2, 1)) > 1) Then My1 = My1 + MyAnd
GetTxt = My100 + My1 + My10
If ((Mid$(MyNo, 3, 1)) = 1) And ((Mid$(MyNo, 2, 1)) = 1) Then
GetTxt = My100 + My11
If ((Mid$(MyNo, 1, 1)) = 0) Then GetTxt = My11
End If
If ((Mid$(MyNo, 3, 1)) = 2) And ((Mid$(MyNo, 2, 1)) = 1) Then
GetTxt = My100 + My12
If ((Mid$(MyNo, 1, 1)) = 0) Then GetTxt = My12
End If
If (i = 0) And (GetTxt <> "") Then
If ((Mid$(MyNo, 1, 3)) > 10) Then
Mybillion = GetTxt + " مليار"
Else
Mybillion = GetTxt + " مليارات"
If ((Mid$(MyNo, 1, 3)) = 2) Then Mybillion = " مليار"
If ((Mid$(MyNo, 1, 3)) = 2) Then Mybillion = " ملياران"
End If
End If
If (i = 3) And (GetTxt <> "") Then
If ((Mid$(MyNo, 1, 3)) > 10) Then
MyMillion = GetTxt + " مليون"
Else
MyMillion = GetTxt + " ملايين"
If ((Mid$(MyNo, 1, 3)) = 1) Then MyMillion = " مليون"
If ((Mid$(MyNo, 1, 3)) = 2) Then MyMillion = " مليونان"
End If
End If
If (i = 6) And (GetTxt <> "") Then
If ((Mid$(MyNo, 1, 3)) > 10) Then
MyThou = GetTxt + " ألف"
Else
MyThou = GetTxt + " آلاف"
If ((Mid$(MyNo, 3, 1)) = 1) Then MyThou = " ألف"
If ((Mid$(MyNo, 3, 1)) = 2) Then MyThou = " ألفان"
End If
End If
If (i = 9) And (GetTxt <> "") Then MyHun = GetTxt
If (i = 12) And (GetTxt <> "") Then MyFraction = GetTxt
End If
i = i + 3
Loop
If (Mybillion <> "") Then
If (MyMillion <> "") Or (MyThou <> "") Or (MyHun <> "") Then Mybillion = Mybillion + MyAnd
End If
If (MyMillion <> "") Then
If (MyThou <> "") Or (MyHun <> "") Then MyMillion = MyMillion + MyAnd
End If
If (MyThou <> "") Then
If (MyHun <> "") Then MyThou = MyThou + MyAnd
End If
If MyFraction <> "" Then
If (Mybillion <> "") Or (MyMillion <> "") Or (MyThou <> "") Or (MyHun <> "") Then
NoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur + MyAnd + MyFraction + " " + MySubCur
Else
NoToTxt = ReMark + MyFraction + " " + MySubCur
End If
Else
NoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur
End If
End Function
End Module
بتمني من اى حد عنده خبره يحولهولي الى سي شارب
انا كمان رفعت المشروع للي حابب يشوفه ويعدله
شكراً مقدماً
الملفات المرفقة
NumberToWords.zip (الحجم : 82.09 ك ب / التحميلات : 25)
المشاركات : 2,061
المواضيع 49
الإنتساب : Oct 2017
السمعة :
538
الشكر: 10647
تم شكره 5322 مرات في 2095 مشاركات
السلام عليكم
تفضل اخي انشاء الله لايظهر فيه خطأ جربه
وان وجد قم بتعديله انت
كود :
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;
}
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
المشاركات : 186
المواضيع 33
الإنتساب : Dec 2018
السمعة :
1
الشكر: 187
تم شكره 150 مرات في 105 مشاركات
(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;
}
شغال تمام اخى العزيز
شكراً جداً ليك
المشاركات : 2,061
المواضيع 49
الإنتساب : Oct 2017
السمعة :
538
الشكر: 10647
تم شكره 5322 مرات في 2095 مشاركات
16-07-19, 05:19 PM
(آخر تعديل لهذه المشاركة : 16-07-19, 05:20 PM {2} بواسطة ابراهيم ايبو .)
الحمد لله والشكر لله
اخي الكريم اراك مستغرب من سرعة الرد وتحويل الكود(لست سوبرمان)
للمصادفة في احد الايام منذ مايقرب من اربعة اشهر كنت في زيارة عند ابني
وكان نفس الكود عندي بالفيجوال وجلست اتسلى في تحويله واخذ مني مايقرب 3 ساعات
وجربته وظهر لي خطأ ولم اشا ان ابحث عن الحطأ فانزعجت وتركت المشروع
وعندما طلبته انت قمت بارساله وبما انه خال من الخطأ
اذا الخطأ عندي في مشروعي في كود أخر غير التفقيط
رب صدفة خير من الف ميعاد
دمت بخير
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
المشاركات : 2,329
المواضيع 81
الإنتساب : May 2018
السمعة :
522
الشكر: 14039
تم شكره 5671 مرات في 2269 مشاركات
16-07-19, 07:06 PM
(آخر تعديل لهذه المشاركة : 16-07-19, 07:11 PM {2} بواسطة asemshahen5 .)
ما رأيك مشروع تفقيط الأرقام عربي / إنجليزي متعدد العملات :
مشروع تفقيط الأرقام عربي / إنجليزي متعدد العملات .
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر
المشاركات : 186
المواضيع 33
الإنتساب : Dec 2018
السمعة :
1
الشكر: 187
تم شكره 150 مرات في 105 مشاركات
20-07-19, 01:45 PM
(آخر تعديل لهذه المشاركة : 20-07-19, 01:47 PM {2} بواسطة maxruined .)
(16-07-19, 05:19 PM) ابراهيم ايبو كتب : الحمد لله والشكر لله
اخي الكريم اراك مستغرب من سرعة الرد وتحويل الكود(لست سوبرمان)
للمصادفة في احد الايام منذ مايقرب من اربعة اشهر كنت في زيارة عند ابني
وكان نفس الكود عندي بالفيجوال وجلست اتسلى في تحويله واخذ مني مايقرب 3 ساعات
وجربته وظهر لي خطأ ولم اشا ان ابحث عن الحطأ فانزعجت وتركت المشروع
وعندما طلبته انت قمت بارساله وبما انه خال من الخطأ
اذا الخطأ عندي في مشروعي في كود أخر غير التفقيط
رب صدفة خير من الف ميعاد
دمت بخير
فعلا فيه صدف كدا غريبه تخليك تبوص للحاجه بنظره تانى خالص
بتمني تكون عرفت الخطأ اللى كان عندك فى المشروع
تحياتي اخى العزيز
(16-07-19, 07:06 PM) asemshahen5 كتب : ما رأيك مشروع تفقيط الأرقام عربي / إنجليزي متعدد العملات :
مشروع تفقيط الأرقام عربي / إنجليزي متعدد العملات .
اخى العزيز جداً asemshahen5
كالعاده دائماً متألق بجد شكراً جداً
المشاركات : 186
المواضيع 33
الإنتساب : Dec 2018
السمعة :
1
الشكر: 187
تم شكره 150 مرات في 105 مشاركات
(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;
}
اخوى وجدت مشكلة فى الكود
بوص فى الصورة دى
الكود بيقراه زى ما انت شايف
الف وثمانمائة وسبعه وثلاثون دينار
وتجاهل ال 9
المفروض طبعا يكون واحد وتسعون الف وثمانمائة وسبعه وثلاثون
هو تجاهل ال 9 مش عارف ازاى
لو تقدر تظبطها يبقي كتر خيرك
شكراً مقدماً
المشاركات : 2,061
المواضيع 49
الإنتساب : Oct 2017
السمعة :
538
الشكر: 10647
تم شكره 5322 مرات في 2095 مشاركات
السلام عليكم اخي الكريم
قلت لك سابقا انه ظهر لي خطأ وتتبعته ولم اعرف السبب وتركته
اجد انه من الاجدى والافضل استخدام كود اخي عاصم جزاه الله خيرا فهو شغال 100%
وقد اختبرته وتأكدت منه
دمت بخير
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
المشاركات : 186
المواضيع 33
الإنتساب : Dec 2018
السمعة :
1
الشكر: 187
تم شكره 150 مرات في 105 مشاركات
(28-07-19, 09:25 PM) ابراهيم ايبو كتب : السلام عليكم اخي الكريم
قلت لك سابقا انه ظهر لي خطأ وتتبعته ولم اعرف السبب وتركته
اجد انه من الاجدى والافضل استخدام كود اخي عاصم جزاه الله خيرا فهو شغال 100%
وقد اختبرته وتأكدت منه
دمت بخير
ما انا بالفعل شغال بيه .. طبعاً الف مليون شكر لاخوى عاصم جزاه الله خير
ولكن بس للمعرفه كنت عايز اعرف ايه المشكلة فى الكود بتاعك مش اكتر
[url=http://vb4arb.com/vb/member.php?action=profile&uid=30786][/url]
المشاركات : 2,061
المواضيع 49
الإنتساب : Oct 2017
السمعة :
538
الشكر: 10647
تم شكره 5322 مرات في 2095 مشاركات
السلام عليكم اخي الكريم
المشكلة محصورة عندما يكون الرقم من 5 خانات
لي عودة اليه في وقت أخر والتحقق منه وعند حل المشكلة سأضع الكود ولن انسى ارساله لك
دمت بخير
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات