![]() |
|
ابحث عن كود تحويل الارقام الى حروف - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175) +--- قسم : قسم اسئلة C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=176) +--- الموضوع : ابحث عن كود تحويل الارقام الى حروف (/showthread.php?tid=11504) |
ابحث عن كود تحويل الارقام الى حروف - osama alsurihi - 22-02-15 عملت تقارير كريستال ريبورت وفيها مبالغ مالية واريد دالة تحول الارقام الى حروف لا كثر من سبعة خانات digits يعنى الى مليون فما فوق RE: ابحث عن كود تحويل الارقام الى حروف - sherif khalid - 18-05-15 هذة الدالة تمكنك من تحويل الارقام الى حروف
مثال رقم 17 = Seventeen ويمكنك التعديل على الدالة كما تشاء
كود : public static string NumberToWords(int number)RE: ابحث عن كود تحويل الارقام الى حروف - abdullah.k - 02-06-15 using Microsoft.VisualBasic; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Diagnostics; public class clsHoorofArabic { private string[] strAhad = new string[10001]; private string strRead = ""; private short Num01; private short Num02; private short Num03; private string عشر = "عشر"; private string الف = "الف"; private string الفان = "الفان"; private string آلاف = "آلاف"; private string الفا = "الفاً"; private string مليون = "مليون"; private string مليونان = "مليونان"; private string مليار = "مليار"; private void تسمية_خاصة() { strAhad(13) = "عشر"; strAhad(15) = ""; strAhad(20) = "عشرون"; strAhad(30) = "ثلاثون"; strAhad(40) = "اربعون"; strAhad(50) = "خمسون"; strAhad(60) = "ستون"; strAhad(70) = "سبعون"; strAhad(80) = "ثمانون"; strAhad(90) = "تسعون"; strAhad(100) = "مائة"; strAhad(200) = "مائتان"; strAhad(1000) = "الف"; strAhad(2000) = "الفان"; } private void الآحاد() { strAhad(0) = "صفر"; strAhad(1) = "واحد"; strAhad(2) = "اثنان"; strAhad(3) = "ثلاثة"; strAhad(4) = "اربعة"; strAhad(5) = "خمسة"; strAhad(6) = "ستة"; strAhad(7) = "سبعة"; strAhad(8) = "ثمانية"; strAhad(9) = "تسعة"; strAhad(10) = "عشرة"; strAhad(11) = "إحدى عشر"; strAhad(12) = "إثنى عشر"; } private string خانة_الآحاد(long nValue) { string functionReturnValue = null; functionReturnValue = ""; switch (nValue) { case 15: functionReturnValue = strAhad(nValue); break; case 0: // TODO: to 12 functionReturnValue = strAhad(nValue); break; case 1000: case 2000: functionReturnValue = strAhad(nValue); break; } return functionReturnValue; } private string خانة_العشرات(long nValue) { string functionReturnValue = null; strRead = ""; if (nValue.ToString.Length == 2) { switch (nValue) { case 10: case 11: case 12: functionReturnValue = strRead; return functionReturnValue; } //من 13 الى 99 Num01 = Convert.ToInt64(Microsoft.VisualBasic.Right(nValue.ToString, 1)); //Val(nValue.ToString.Last()) Num02 = nValue - Num01; if (Num01 == 0) { strRead = strAhad(Num02); } else if (nValue <= 19) { strRead = strAhad(Num01) + " " + strAhad(Num02).Replace("ة", ""); } else { strRead = strAhad(Num01) + " و" + strAhad(Num02); } } functionReturnValue = strRead; return functionReturnValue; } private string خانة_المئات(long nValue) { strRead = ""; if (nValue.ToString.Length == 3) { long AValue = 0; long BValue = 0; AValue = Convert.ToInt64(Microsoft.VisualBasic.Right(nValue.ToString, 2)); BValue = nValue - AValue; if (BValue == 100 | BValue == 200) { if (AValue == 0) { strRead = strAhad(BValue); } else if (AValue <= 12) { strRead = strAhad(BValue) + " و" + strAhad(AValue); } else { strRead = strAhad(BValue) + " و" + خانة_العشرات(AValue); } } else { if (AValue >= 1 & AValue <= 12) { strRead = strAhad(Conversion.Val(Microsoft.VisualBasic.Left(BValue.ToString, 1))).Remove(strAhad(Conversion.Val(Microsoft.VisualBasic.Left(BValue.ToString, 1))).Count - 1) + strAhad(100) + " و" + strAhad(AValue); } else if (AValue != 0) { strRead = strAhad(Conversion.Val(Microsoft.VisualBasic.Left(BValue.ToString, 1))).Remove(strAhad(Conversion.Val(Microsoft.VisualBasic.Left(BValue.ToString, 1))).Count - 1) + strAhad(100) + " و" + خانة_العشرات(AValue); } else if (AValue == 0) { strRead = strAhad(Conversion.Val(Microsoft.VisualBasic.Left(BValue.ToString, 1))).Remove(strAhad(Conversion.Val(Microsoft.VisualBasic.Left(BValue.ToString, 1))).Count - 1) + strAhad(100); } } } return strRead; } private string ReadHoorof(long nValue) { تسمية_خاصة(); الآحاد(); if (nValue <= 12) { strRead = خانة_الآحاد(nValue); } else if (nValue.ToString.Length == 2) { strRead = خانة_العشرات(nValue); } else if (nValue.ToString.Length == 3) { strRead = خانة_المئات(nValue); } return strRead; } private string GetHoorof(long nValue) { long AValue = 0; long BValue = 0; string strRead = ""; تسمية_خاصة(); الآحاد(); switch (nValue.ToString.Length()) { case 1: strRead = strAhad(nValue); break; case 2: switch (nValue) { case 10: case 11: case 12: strRead = strAhad(nValue); break; case 13: case 14: case 15: case 16: case 17: case 18: case 19: strRead = strAhad(nValue) + " " + عشر; break; } break; } return strRead; } public string convert2hroof(decimal الرقم, byte عدد_الخانات_العشرية, string تسمية_العملة, string تسمية_الوحدة, bool إضافة_كلمة_فقط, bool إضافة_كلمة_لاغير) { string functionReturnValue = null; int مضروب_الخانات_العشرية = 0; switch (عدد_الخانات_العشرية) { case 1: مضروب_الخانات_العشرية = 10; break; case 2: مضروب_الخانات_العشرية = 100; break; case 3: مضروب_الخانات_العشرية = 1000; break; case 4: مضروب_الخانات_العشرية = 10000; break; case 5: مضروب_الخانات_العشرية = 100000; break; } string كلمة_لاغير = ""; string كلمة_فقط = ""; if (إضافة_كلمة_لاغير == true) { كلمة_لاغير = "لاغير"; } else { كلمة_لاغير = ""; } if (إضافة_كلمة_فقط == true) { كلمة_فقط = "فقط"; } else { كلمة_فقط = ""; } List<long> قائمة_القيم = new List<long>(); long عدد_صحيح = 0; long عدد_عشري = 0; عدد_صحيح = Math.Truncate(الرقم); عدد_عشري = Math.Truncate((decimal.Subtract(الرقم, decimal.Floor(الرقم))) * مضروب_الخانات_العشرية); string delimStr = ","; char[] delimiter = delimStr.ToCharArray(); string words = Strings.FormatNumber(عدد_صحيح, 0, TriState.True).ToString(); // "one two,three:four." string[] split = null; int I = 0; byte sum = 0; for (I = 0; I <= words.Count - 1; I++) { if (words(I) == ",") { sum = sum + 1; } } split = words.Split(delimiter, sum + 1); string s = null; string ss = ""; foreach (string s_loopVariable in split) { s = s_loopVariable; قائمة_القيم.Add(Convert.ToInt64(s)); } string strHorof = ""; string strHorof1 = ""; string strHorof2 = ""; string strHorof3 = ""; string strHorof4 = ""; switch (قائمة_القيم.Count) { case 1: strHorof = ReadHoorof(قائمة_القيم.Item(0)); break; case 2: if (قائمة_القيم.Item(1) == 0) { switch (قائمة_القيم.Item(0)) { case 1: strHorof = "الف"; break; case 2: strHorof = "الفان"; break; case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: strHorof = ReadHoorof(قائمة_القيم.Item(0)) + " " + "آلاف"; break; default: strHorof = ReadHoorof(قائمة_القيم.Item(0)) + " " + "الف"; break; } } else { switch (قائمة_القيم.Item(0)) { case 1: strHorof = "الف" + " و" + ReadHoorof(قائمة_القيم.Item(1)); break; case 2: strHorof = "الفان" + " و" + ReadHoorof(قائمة_القيم.Item(1)); break; case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: strHorof = ReadHoorof(قائمة_القيم.Item(0)) + " " + "آلاف" + " و" + ReadHoorof(قائمة_القيم.Item(1)); break; default: strHorof = ReadHoorof(قائمة_القيم.Item(0)) + " " + "الف" + " و" + ReadHoorof(قائمة_القيم.Item(1)); break; } } break; case 3: if (قائمة_القيم.Item(1) == 0 & قائمة_القيم.Item(2) == 0) { switch (قائمة_القيم.Item(0)) { case 1: strHorof = "مليون"; break; case 2: strHorof = "مليونان"; break; default: strHorof = ReadHoorof(قائمة_القيم.Item(0)) + " " + "مليون"; break; } } else if (قائمة_القيم.Item(2) == 0) { switch (قائمة_القيم.Item(1)) { case 1: strHorof1 = "الف"; break; case 2: strHorof1 = "الفان"; break; case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: strHorof1 = ReadHoorof(قائمة_القيم.Item(1)) + " " + "آلاف"; break; default: strHorof1 = ReadHoorof(قائمة_القيم.Item(1)) + " " + "الف"; break; } switch (قائمة_القيم.Item(0)) { case 1: strHorof = "مليون" + " و" + strHorof1; break; case 2: strHorof = "مليونان" + " و" + strHorof1; break; default: strHorof = ReadHoorof(قائمة_القيم.Item(0)) + " " + "مليون" + " و" + strHorof1; break; } } else { strHorof2 = ReadHoorof(قائمة_القيم.Item(2)); switch (قائمة_القيم.Item(1)) { case 1: strHorof1 = "الف"; break; case 2: strHorof1 = "الفان"; break; case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: strHorof1 = ReadHoorof(قائمة_القيم.Item(1)) + " " + "آلاف"; break; default: strHorof1 = ReadHoorof(قائمة_القيم.Item(1)) + " " + "الف"; break; } switch (قائمة_القيم.Item(0)) { case 1: strHorof = "مليون" + " و" + strHorof1 + " و" + strHorof2; break; case 2: strHorof = "مليونان" + " و" + strHorof1 + " و" + strHorof2; break; default: strHorof = ReadHoorof(قائمة_القيم.Item(0)) + " " + "مليون" + " و" + strHorof1 + " و" + strHorof2; break; } } break; case 4: break; } if (عدد_عشري == 0) { functionReturnValue = كلمة_فقط + " " + strHorof + " " + تسمية_العملة + " " + كلمة_لاغير; } else { functionReturnValue = كلمة_فقط + " " + strHorof + " " + تسمية_العملة + " و" + عدد_عشري.ToString() + " " + تسمية_الوحدة + " " + كلمة_لاغير; } return functionReturnValue; } } //======================================================= //Service provided by Telerik (http://www.telerik.com) //Conversion powered by NRefactory. //Twitter: @telerik //Facebook: facebook.com/telerik //======================================================= RE: ابحث عن كود تحويل الارقام الى حروف - RamiAlkawadri - 12-06-15 اهلا بك اخي يمكنك استخدام البنية الشررطية ب switch او if الطريقة كما يلي بقلك ياها باي اف بعد حفظ المتغير تقوم بكتاببة if (المتغير الكتابةي مثل x==x) { امر التحويل تبعا الكتابة لست فاضي اكتبه } else if )متل الشرط الي فوق) { امر الكتابة } يمكنك تكرار else if واذا بدك تطبع رسالة اذا لم يكن المدخل من الموجودين فيك تحط else { وهنا الامر اذا خطا ويفضل تحط انو خطا و جوتو } |