This article I am going to discuss function which convert numeric value to word for that we create one web page which return convert number to word.
To achieve this I create one simple webpage which have one textbox and one button when click on button number is converted to text and display in label see below image.
I have create on class which convert given number to text
I made following code on button click event
it covert given number to word. This may be useful for you. Stay turned for more.
Thanks for reading. Happy coding!!
To achieve this I create one simple webpage which have one textbox and one button when click on button number is converted to text and display in label see below image.
I have create on class which convert given number to text
static class 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" }; // US Nnumbering: private static string[] _thousands = { "", "thousand", "million", "billion", "trillion", "quadrillion" }; ////// Converts a numeric value to words suitable for the portion of /// a check that writes out the amount. /// /// Value to be converted ///public static string Convert(decimal value) { string digits, temp; bool showThousands = false; bool allZeros = true; StringBuilder builder = new StringBuilder(); // Convert integer portion of value to string digits = ((long)value).ToString(); // Traverse characters in reverse order for (int i = digits.Length - 1; i >= 0; i--) { int ndigit = (int)(digits[i] - '0'); int column = (digits.Length - (i + 1)); // Determine if ones, tens, or hundreds column switch (column % 3) { case 0: // Ones position showThousands = true; if (i == 0) { // First digit in number (last in loop) temp = String.Format("{0} ", _ones[ndigit]); } else if (digits[i - 1] == '1') { // This digit is part of "teen" value temp = String.Format("{0} ", _teens[ndigit]); // Skip tens position i--; } else if (ndigit != 0) { // Any non-zero digit temp = String.Format("{0} ", _ones[ndigit]); } else { // This digit is zero. If digit in tens and hundreds // column are also zero, don't show "thousands" temp = String.Empty; // Test for non-zero digit in this grouping if (digits[i - 1] != '0' || (i > 1 && digits[i - 2] != '0')) showThousands = true; else showThousands = false; } // Show "thousands" if non-zero in grouping if (showThousands) { if (column > 0) { temp = String.Format("{0}{1}{2}", temp, _thousands[column / 3], //allZeros ? " " : ", "); allZeros ? " " : " "); } // Indicate non-zero digit encountered allZeros = false; } builder.Insert(0, temp); break; case 1: // Tens column if (ndigit > 0) { temp = String.Format("{0}{1}", _tens[ndigit], (digits[i + 1] != '0') ? "-" : " "); builder.Insert(0, temp); } break; case 2: // Hundreds column if (ndigit > 0) { temp = String.Format("{0} hundred ", _ones[ndigit]); builder.Insert(0, temp); } break; } } // Append fractional portion/cents builder.AppendFormat(" DOLLARS and {0:00} / 100", (value - (long)value) * 100); // Capitalize first letter return String.Format("{0}{1}", Char.ToUpper(builder[0]), builder.ToString(1, builder.Length - 1)); } }
I made following code on button click event
protected void btnconvert_Click(object sender, EventArgs e) { decimal number; if(!string.IsNullOrEmpty(txtnumber.Text)&& decimal.TryParse(txtnumber.Text.Trim(),out number)) { lblText.Text=NumberToWord.Convert(number); } }
it covert given number to word. This may be useful for you. Stay turned for more.
Thanks for reading. Happy coding!!