C# - Convert number to number names from 1 to 999


C# - Convert number to number names from 1 to 999

CODE
using System; class Program { public static void Main() { int number = 999; string numberName = ConvertNumberToNumberName(number); //Returns "Nine Hundred and Ninety Nine" Console.WriteLine("{0} ==> {1}", number, numberName); Console.ReadKey(); } private static String ConvertNumberToNumberName(int number) { string numberName = ""; if ((number < 1) || (number > 999)) Console.WriteLine("Invalid Input"); else { int length = number.ToString().Length; switch (length) { case 1: numberName = Convert1DigitNumber(number); break; case 2: numberName = Convert2DigitNumber(number); break; case 3: numberName = Convert3DigitNumber(number); break; } } return numberName; } private static String Convert1DigitNumber(int number) { if (number == 0) return ""; String[] digit1Array = new String[] { "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine" }; return digit1Array[number - 1]; } private static String Convert2DigitNumber(int number) { String numberName = ""; String[] digit2Array = new String[] { "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety" }; if ((number < 21) && (number > 9)) numberName = digit2Array[number - 10]; else { int digit1 = number % 10; int digit2 = number / 10; String digit1Word = ""; String digit2Word = ""; if (digit1 == 0) digit1Word = Convert1DigitNumber(digit1); else digit1Word = " " + Convert1DigitNumber(digit1); if (digit2 == 0) digit2Word = ""; else digit2Word = digit2Array[digit2 + 8]; numberName = digit2Word + digit1Word; } return numberName; } private static String Convert3DigitNumber(int number) { String numberName = ""; String[] digit3Array = new String[] { "Hundred" }; int digit1n2 = number % 100; int digit3 = number / 100; numberName = Convert1DigitNumber(digit3) + " " + digit3Array[0] + " and " + Convert2DigitNumber(digit1n2); return numberName; } }

Comments