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
Post a Comment