Introduction
In this article explains about how to convert a numeric value to words.
For Example: Numeric: 500
In Words: Five hundred Only
In this article explains about how to convert a numeric value to words.
For Example: Numeric: 500
In Words: Five hundred Only
staticclass NumberToWord { private static string[] _ones = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; private static string[] _teens = { "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" }; private static string[] _tens = { "", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" }; private static string[] _thousands = { "", "thousand", "million", "billion", "trillion", "quadrillion" }; public static string Convert(decimal value) { string digits, temp; bool showThousands = false; bool allZeros = true; StringBuilder builder = new StringBuilder(); digits = ((long)value).ToString(); for(int i = digits.Length-1; i >= 0; i--) { int ndigit = (int)(digits[i] - '0'); int column = (digits.Length - (i + 1)); switch (column % 3) { case 0: showThousands = true; if (i == 0) { temp =String.Format("{0} ", _ones[ndigit]); } else if (digits[i - 1] == '1') { temp = String.Format("{0} ", _teens[ndigit]); i--; } else if (ndigit != 0) { temp = String.Format("{0} ", _ones[ndigit]); } else { temp = String.Empty; if (digits[i - 1] != '0' || (i > 1 && digits[i - 2] != '0')) showThousands = true; else showThousands = false; } if (showThousands) { if (column > 0) { temp = String.Format("{0}{1}{2}", temp,_thousands[column / 3], allZeros ? " " : " "); } allZeros = false; } builder.Insert(0, temp); break; case 1: if (ndigit > 0) { temp = String.Format("{0}{1}",_tens[ndigit], (digits[i + 1] != '0') ? "-" : " ");builder.Insert(0, temp); } break; case 2: if (ndigit > 0) { temp = String.Format("{0} hundred ", _ones[ndigit]); builder.Insert(0, temp); } break; }} builder.AppendFormat("only", (value - (long)value) * 100); return String.Format("{0}{1}", Char.ToUpper(builder[0]), builder.ToString(1, builder.Length - 1)); } } Add following code on Button_Click event decimal number; if (!string.IsNullOrEmpty(txtAmount.Text)
&& decimal.TryParse(txtAmount.Text.Trim(), out number)) { lblAmountChar.Text = "(" + NumberToWord.Convert(number) + ")"; }
No comments:
Post a Comment