تبدیل اعداد به حروف
شما با استفاده از کد زیر میتوانید اعداد را به حروف تبدیل نمایید برای مثال :
123 تبدیل می شود به "صد و بیست و سه"
برای انجام این کار کافی هست که کد زیر را به برنامه خود اضافه نمایید
#region عدد به حروف string[] yakan = new string[10] { "صفر", "یک", "دو", "سه", "چهار", "پنج", "شش", "هفت", "هشت", "نه" }; string[] dahgan = new string[10] { "", "", "بیست", "سی", "چهل", "پنجاه", "شصت", "هفتاد", "هشتاد", "نود" }; string[] dahyek = new string[10] { "ده", "یازده", "دوازده", "سیزده", "چهارده", "پانزده", "شانزده", "هفده", "هجده", "نوزده" }; string[] sadgan = new string[10] { "", "یکصد", "دویست", "سیصد", "چهارصد", "پانصد", "ششصد", "هفتصد", "هشتصد", "نهصد" }; string[] basex = new string[5] { "", "هزار", "میلیون", "میلیارد", "تریلیون" }; string getnum3(int num3) { try { string s = ""; int d3, d12; d12 = num3 % 100; d3 = num3 / 100; if (d3 != 0) s = sadgan[d3] + " و "; if ((d12 >= 10) && (d12 <= 19)) { s = s + dahyek[d12 - 10]; } else { int d2 = d12 / 10; if (d2 != 0) s = s + dahgan[d2] + " و "; int d1 = d12 % 10; if (d1 != 0) s = s + yakan[d1] + " و "; s = s.Substring(0, s.Length - 3); }; return s; } catch { return ""; } } public string NumberToString(string PriceNumber, bool? IsRial = null) { try { string stotal = ""; if (PriceNumber == "") return "صفر"; if (PriceNumber == "0") return yakan[0]; else { if (PriceNumber.Contains('.')) { string[] dots = PriceNumber.Split('.'); PriceNumber = dots[0]; } if (PriceNumber.Contains(',')) { string[] HelpArr = PriceNumber.Split(','); for (int i = 1; i < HelpArr.Length; i++) { HelpArr[0] += HelpArr[i]; } PriceNumber = HelpArr[0]; } PriceNumber = PriceNumber.PadLeft(((PriceNumber.Length - 1) / 3 + 1) * 3, '0'); int L = PriceNumber.Length / 3 - 1; for (int i = 0; i <= L; i++) { int b = int.Parse(PriceNumber.Substring(i * 3, 3)); if (b != 0) stotal = stotal + getnum3(b) + " " + basex[L - i] + " و "; } stotal = stotal.Substring(0, stotal.Length - 3); } if (IsRial == null) return stotal; if (IsRial == true) return stotal + " ریال "; else return stotal + " تومان "; } catch { return "مقدار وارد شده قابل محاسبه نیست"; } } #endregion
منبع : CRM - نویسنده : احسان ملکی
دیدگاه ها (0)