Skip to content

Instantly share code, notes, and snippets.

@bobixaka
Created August 28, 2013 21:03
Show Gist options
  • Save bobixaka/6371243 to your computer and use it in GitHub Desktop.
Save bobixaka/6371243 to your computer and use it in GitHub Desktop.
Convert any number in text. Spell the numbers.
using System;
using System.Globalization;
using System.Threading;
namespace Task_11_NumberTextConverter
{
class Number2TextConverter
{
static int Thousants;
static int Hundreds;
static int Tens;
static int Ones;
static decimal Decimals;
static int DecimalTens;
static int DecimalOnes;
static void SwitchDecimals()
{
switch (DecimalTens)
{
case 0: Console.Write("Zero ");
switch (DecimalOnes)
{
case 0: Console.WriteLine("Zero!");
break;
case 1: Console.WriteLine("One!");
break;
case 2: Console.WriteLine("Two!");
break;
case 3: Console.WriteLine("Three!");
break;
case 4: Console.WriteLine("Four!");
break;
case 5: Console.WriteLine("Five!");
break;
case 6: Console.WriteLine("Six!");
break;
case 7: Console.WriteLine("Seven!");
break;
case 8: Console.WriteLine("Eight!");
break;
case 9: Console.WriteLine("Nine!");
break;
default: Console.WriteLine("\nError!");
break;
}
break;
case 1:
switch (DecimalOnes)
{
case 0: Console.WriteLine("Ten!");
break;
case 1: Console.WriteLine("Eleven!");
break;
case 2: Console.WriteLine("Twelve!");
break;
case 3: Console.WriteLine("Thirteen!");
break;
case 4: Console.WriteLine("Fourteen!");
break;
case 5: Console.WriteLine("Fifteen!");
break;
case 6: Console.WriteLine("Sixteen!");
break;
case 7: Console.WriteLine("Seventeen!");
break;
case 8: Console.WriteLine("Eighteen!");
break;
case 9: Console.WriteLine("Nineteen!");
break;
default: Console.WriteLine("\nError!");
break;
}
break;
case 2: Console.Write("Twenty ");
switch (DecimalOnes)
{
case 0: Console.WriteLine();
break;
case 1: Console.WriteLine("One!");
break;
case 2: Console.WriteLine("Two!");
break;
case 3: Console.WriteLine("Three!");
break;
case 4: Console.WriteLine("Four!");
break;
case 5: Console.WriteLine("Five!");
break;
case 6: Console.WriteLine("Six!");
break;
case 7: Console.WriteLine("Seven!");
break;
case 8: Console.WriteLine("Eight!");
break;
case 9: Console.WriteLine("Nine!");
break;
default: Console.WriteLine("\nError!");
break;
}
break;
case 3: Console.Write("Thirty ");
switch (DecimalOnes)
{
case 0: Console.WriteLine();
break;
case 1: Console.WriteLine("One!");
break;
case 2: Console.WriteLine("Two!");
break;
case 3: Console.WriteLine("Three!");
break;
case 4: Console.WriteLine("Four!");
break;
case 5: Console.WriteLine("Five!");
break;
case 6: Console.WriteLine("Six!");
break;
case 7: Console.WriteLine("Seven!");
break;
case 8: Console.WriteLine("Eight!");
break;
case 9: Console.WriteLine("Nine!");
break;
default: Console.WriteLine("\nError!");
break;
}
break;
case 4: Console.Write("Fourty ");
switch (DecimalOnes)
{
case 0: Console.WriteLine();
break;
case 1: Console.WriteLine("One!");
break;
case 2: Console.WriteLine("Two!");
break;
case 3: Console.WriteLine("Three!");
break;
case 4: Console.WriteLine("Four!");
break;
case 5: Console.WriteLine("Five!");
break;
case 6: Console.WriteLine("Six!");
break;
case 7: Console.WriteLine("Seven!");
break;
case 8: Console.WriteLine("Eight!");
break;
case 9: Console.WriteLine("Nine!");
break;
default: Console.WriteLine("\nError!");
break;
}
break;
case 5: Console.Write("Fifty ");
switch (DecimalOnes)
{
case 0: Console.WriteLine();
break;
case 1: Console.WriteLine("One!");
break;
case 2: Console.WriteLine("Two!");
break;
case 3: Console.WriteLine("Three!");
break;
case 4: Console.WriteLine("Four!");
break;
case 5: Console.WriteLine("Five!");
break;
case 6: Console.WriteLine("Six!");
break;
case 7: Console.WriteLine("Seven!");
break;
case 8: Console.WriteLine("Eight!");
break;
case 9: Console.WriteLine("Nine!");
break;
default: Console.WriteLine("\nError!");
break;
}
break;
case 6: Console.Write("Sixty ");
switch (DecimalOnes)
{
case 0: Console.WriteLine();
break;
case 1: Console.WriteLine("One!");
break;
case 2: Console.WriteLine("Two!");
break;
case 3: Console.WriteLine("Three!");
break;
case 4: Console.WriteLine("Four!");
break;
case 5: Console.WriteLine("Five!");
break;
case 6: Console.WriteLine("Six!");
break;
case 7: Console.WriteLine("Seven!");
break;
case 8: Console.WriteLine("Eight!");
break;
case 9: Console.WriteLine("Nine!");
break;
default: Console.WriteLine("\nError!");
break;
}
break;
case 7: Console.Write("Seventy ");
switch (DecimalOnes)
{
case 0: Console.WriteLine();
break;
case 1: Console.WriteLine("One!");
break;
case 2: Console.WriteLine("Two!");
break;
case 3: Console.WriteLine("Three!");
break;
case 4: Console.WriteLine("Four!");
break;
case 5: Console.WriteLine("Five!");
break;
case 6: Console.WriteLine("Six!");
break;
case 7: Console.WriteLine("Seven!");
break;
case 8: Console.WriteLine("Eight!");
break;
case 9: Console.WriteLine("Nine!");
break;
default: Console.WriteLine("\nError!");
break;
}
break;
case 8: Console.Write("Eighty ");
switch (DecimalOnes)
{
case 0: Console.WriteLine();
break;
case 1: Console.WriteLine("One!");
break;
case 2: Console.WriteLine("Two!");
break;
case 3: Console.WriteLine("Three!");
break;
case 4: Console.WriteLine("Four!");
break;
case 5: Console.WriteLine("Five!");
break;
case 6: Console.WriteLine("Six!");
break;
case 7: Console.WriteLine("Seven!");
break;
case 8: Console.WriteLine("Eight!");
break;
case 9: Console.WriteLine("Nine!");
break;
default: Console.WriteLine("\nError!");
break;
}
break;
case 9: Console.Write("Ninety ");
switch (DecimalOnes)
{
case 0: Console.WriteLine();
break;
case 1: Console.WriteLine("One!");
break;
case 2: Console.WriteLine("Two!");
break;
case 3: Console.WriteLine("Three!");
break;
case 4: Console.WriteLine("Four!");
break;
case 5: Console.WriteLine("Five!");
break;
case 6: Console.WriteLine("Six!");
break;
case 7: Console.WriteLine("Seven!");
break;
case 8: Console.WriteLine("Eight!");
break;
case 9: Console.WriteLine("Nine!");
break;
default: Console.WriteLine("\nError!");
break;
}
break;
default: Console.WriteLine("\nError!");
break;
}
}
static void SwitchTensAndDecimals()
{
switch (Tens)
{
case 0:
switch (Ones)
{
case 0: Console.Write("Zero point ");
SwitchDecimals();
break;
case 1: Console.Write("One point ");
SwitchDecimals();
break;
case 2: Console.Write("Two point ");
SwitchDecimals();
break;
case 3: Console.Write("Three point ");
SwitchDecimals();
break;
case 4: Console.Write("Four point ");
SwitchDecimals();
break;
case 5: Console.Write("Five point ");
SwitchDecimals();
break;
case 6: Console.Write("Six point ");
SwitchDecimals();
break;
case 7: Console.Write("Seven point ");
SwitchDecimals();
break;
case 8: Console.Write("Eight point ");
SwitchDecimals();
break;
case 9: Console.Write("Nine point ");
SwitchDecimals();
break;
default: Console.WriteLine("\nError!");
break;
}
break;
case 1:
switch (Ones)
{
case 0: Console.Write("Ten point ");
SwitchDecimals();
break;
case 1: Console.Write("Eleven point ");
SwitchDecimals();
break;
case 2: Console.Write("Twelve point ");
SwitchDecimals();
break;
case 3: Console.Write("Thirteen point ");
SwitchDecimals();
break;
case 4: Console.Write("Fourteen point ");
SwitchDecimals();
break;
case 5: Console.Write("Fifteen point ");
SwitchDecimals();
break;
case 6: Console.Write("Sixteen point ");
SwitchDecimals();
break;
case 7: Console.Write("Seventeen point ");
SwitchDecimals();
break;
case 8: Console.Write("Eighteen point ");
SwitchDecimals();
break;
case 9: Console.Write("Nineteen point ");
SwitchDecimals();
break;
default: Console.WriteLine("\nError!");
break;
}
break;
case 2: Console.Write("Twenty ");
switch (Ones)
{
case 0: Console.Write("point ");
SwitchDecimals();
break;
case 1: Console.Write("One point ");
SwitchDecimals();
break;
case 2: Console.Write("Two point ");
SwitchDecimals();
break;
case 3: Console.Write("Three point ");
SwitchDecimals();
break;
case 4: Console.Write("Four point ");
SwitchDecimals();
break;
case 5: Console.Write("Five point ");
SwitchDecimals();
break;
case 6: Console.Write("Six point ");
SwitchDecimals();
break;
case 7: Console.Write("Seven point ");
SwitchDecimals();
break;
case 8: Console.Write("Eight point ");
SwitchDecimals();
break;
case 9: Console.Write("Nine point ");
SwitchDecimals();
break;
default: Console.Write("\nError!");
break;
}
break;
case 3: Console.Write("Thirty ");
switch (Ones)
{
case 0: Console.Write("point ");
SwitchDecimals();
break;
case 1: Console.Write("One point ");
SwitchDecimals();
break;
case 2: Console.Write("Two point ");
SwitchDecimals();
break;
case 3: Console.Write("Three point ");
SwitchDecimals();
break;
case 4: Console.Write("Four point ");
SwitchDecimals();
break;
case 5: Console.Write("Five point ");
SwitchDecimals();
break;
case 6: Console.Write("Six point ");
SwitchDecimals();
break;
case 7: Console.Write("Seven point ");
SwitchDecimals();
break;
case 8: Console.Write("Eight point ");
SwitchDecimals();
break;
case 9: Console.Write("Nine point ");
SwitchDecimals();
break;
default: Console.Write("\nError!");
break;
}
break;
case 4: Console.Write("Fourty ");
switch (Ones)
{
case 0: Console.Write("point ");
SwitchDecimals();
break;
case 1: Console.Write("One point ");
SwitchDecimals();
break;
case 2: Console.Write("Two point ");
SwitchDecimals();
break;
case 3: Console.Write("Three point ");
SwitchDecimals();
break;
case 4: Console.Write("Four point ");
SwitchDecimals();
break;
case 5: Console.Write("Five point ");
SwitchDecimals();
break;
case 6: Console.Write("Six point ");
SwitchDecimals();
break;
case 7: Console.Write("Seven point ");
SwitchDecimals();
break;
case 8: Console.Write("Eight point ");
SwitchDecimals();
break;
case 9: Console.Write("Nine point ");
SwitchDecimals();
break;
default: Console.Write("\nError!");
break;
}
break;
case 5: Console.Write("Fifty ");
switch (Ones)
{
case 0: Console.Write("point ");
SwitchDecimals();
break;
case 1: Console.Write("One point ");
SwitchDecimals();
break;
case 2: Console.Write("Two point ");
SwitchDecimals();
break;
case 3: Console.Write("Three point ");
SwitchDecimals();
break;
case 4: Console.Write("Four point ");
SwitchDecimals();
break;
case 5: Console.Write("Five point ");
SwitchDecimals();
break;
case 6: Console.Write("Six point ");
SwitchDecimals();
break;
case 7: Console.Write("Seven point ");
SwitchDecimals();
break;
case 8: Console.Write("Eight point ");
SwitchDecimals();
break;
case 9: Console.Write("Nine point ");
SwitchDecimals();
break;
default: Console.Write("\nError!");
break;
}
break;
case 6: Console.Write("Sixty ");
switch (Ones)
{
case 0: Console.Write("point ");
SwitchDecimals();
break;
case 1: Console.Write("One point ");
SwitchDecimals();
break;
case 2: Console.Write("Two point ");
SwitchDecimals();
break;
case 3: Console.Write("Three point ");
SwitchDecimals();
break;
case 4: Console.Write("Four point ");
SwitchDecimals();
break;
case 5: Console.Write("Five point ");
SwitchDecimals();
break;
case 6: Console.Write("Six point ");
SwitchDecimals();
break;
case 7: Console.Write("Seven point ");
SwitchDecimals();
break;
case 8: Console.Write("Eight point ");
SwitchDecimals();
break;
case 9: Console.Write("Nine point ");
SwitchDecimals();
break;
default: Console.Write("\nError!");
break;
}
break;
case 7: Console.Write("Seventy ");
switch (Ones)
{
case 0: Console.Write("point ");
SwitchDecimals();
break;
case 1: Console.Write("One point ");
SwitchDecimals();
break;
case 2: Console.Write("Two point ");
SwitchDecimals();
break;
case 3: Console.Write("Three point ");
SwitchDecimals();
break;
case 4: Console.Write("Four point ");
SwitchDecimals();
break;
case 5: Console.Write("Five point ");
SwitchDecimals();
break;
case 6: Console.Write("Six point ");
SwitchDecimals();
break;
case 7: Console.Write("Seven point ");
SwitchDecimals();
break;
case 8: Console.Write("Eight point ");
SwitchDecimals();
break;
case 9: Console.Write("Nine point ");
SwitchDecimals();
break;
default: Console.Write("\nError!");
break;
}
break;
case 8: Console.Write("Eighty ");
switch (Ones)
{
case 0: Console.Write("point ");
SwitchDecimals();
break;
case 1: Console.Write("One point ");
SwitchDecimals();
break;
case 2: Console.Write("Two point ");
SwitchDecimals();
break;
case 3: Console.Write("Three point ");
SwitchDecimals();
break;
case 4: Console.Write("Four point ");
SwitchDecimals();
break;
case 5: Console.Write("Five point ");
SwitchDecimals();
break;
case 6: Console.Write("Six point ");
SwitchDecimals();
break;
case 7: Console.Write("Seven point ");
SwitchDecimals();
break;
case 8: Console.Write("Eight point ");
SwitchDecimals();
break;
case 9: Console.Write("Nine point ");
SwitchDecimals();
break;
default: Console.Write("\nError!");
break;
}
break;
case 9: Console.Write("Ninety ");
switch (Ones)
{
case 0: Console.Write("point ");
SwitchDecimals();
break;
case 1: Console.Write("One point ");
SwitchDecimals();
break;
case 2: Console.Write("Two point ");
SwitchDecimals();
break;
case 3: Console.Write("Three point ");
SwitchDecimals();
break;
case 4: Console.Write("Four point ");
SwitchDecimals();
break;
case 5: Console.Write("Five point ");
SwitchDecimals();
break;
case 6: Console.Write("Six point ");
SwitchDecimals();
break;
case 7: Console.Write("Seven point ");
SwitchDecimals();
break;
case 8: Console.Write("Eight point ");
SwitchDecimals();
break;
case 9: Console.Write("Nine point ");
SwitchDecimals();
break;
default: Console.Write("\nError!");
break;
}
break;
default: Console.WriteLine("\nError!");
break;
}
}
static void SwitchHundreds()
{
switch (Hundreds)
{
case 0:
SwitchTensAndDecimals();
break;
case 1: Console.Write("One hundred ");
SwitchTensAndDecimals();
break;
case 2: Console.Write("Two hundred ");
SwitchTensAndDecimals();
break;
case 3: Console.Write("Three hundred ");
SwitchTensAndDecimals();
break;
case 4: Console.Write("Four hundred ");
SwitchTensAndDecimals();
break;
case 5: Console.Write("Five hundred ");
SwitchTensAndDecimals();
break;
case 6: Console.Write("Six hundred ");
SwitchTensAndDecimals();
break;
case 7: Console.Write("Seven hundred ");
SwitchTensAndDecimals();
break;
case 8: Console.Write("Eight hundred ");
SwitchTensAndDecimals();
break;
case 9: Console.Write("Nine hundred ");
SwitchTensAndDecimals();
break;
default: Console.WriteLine("\nError!");
break;
}
}
static void Main()
{
//One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten
//Eleven, Twelve, Thirteen, Fourteen, Fifteen, Sixteen, Seventeen, Eighteen, Nineteen,
//Twenty, Thirty, Fourty, Sixty, Seventy, Eighty, Ninety,
//One hundred, Two hundred
Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
while (true)
{
Console.Write("\nPlease enter a number to read: ");
string str = Console.ReadLine();
Console.WriteLine();
decimal Number = 0;
while (decimal.TryParse(str, out Number) == false)
{
Console.Write("Please enter a valid number!: ");
str = Console.ReadLine();
Console.WriteLine();
}
Thousants = (int)(Number) / 1000;
Hundreds = ((int)(Number) % 1000) / 100;
Tens = ((int)Number % 100) / 10;
Ones = (int)Number % 10;
Decimals = (Number - (int)(Number)) * 100; // (5 - 5.12345) * 100 = 0.12345 * 100 = 12.345
DecimalTens = ((int)(Decimals) / 10); // (int)(12.345) = 12; 12 / 10 = 1
DecimalOnes = ((int)(Decimals) % 10); // (int)(12.345) = 12; 12 % 10 = 2
switch (Thousants)
{
case 0:
SwitchHundreds();
break;
case 1: Console.Write("One thousand ");
SwitchHundreds();
break;
case 2: Console.Write("Two thousand ");
SwitchHundreds();
break;
case 3: Console.Write("Three thousand ");
SwitchHundreds();
break;
case 4: Console.Write("Four thousand ");
SwitchHundreds();
break;
case 5: Console.Write("Five thousand ");
SwitchHundreds();
break;
case 6: Console.Write("Six thousand ");
SwitchHundreds();
break;
case 7: Console.Write("Seven thousand ");
SwitchHundreds();
break;
case 8: Console.Write("Eight thousand ");
SwitchHundreds();
break;
case 9: Console.Write("Nine thousand ");
SwitchHundreds();
break;
default: Console.WriteLine("\nError!");
break;
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment