mecies

NUMBERS STRING REPRESENTATION(MATI)

Jun 17th, 2018
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.25 KB | None | 0 0
  1. static void Main(string[] args)
  2.         {
  3.             Console.WriteLine("Enter a number in the range 0-999");
  4.             int input = int.Parse(Console.ReadLine());
  5.  
  6.             string answer = NumberToText(input);
  7.             Console.WriteLine(answer);
  8.  
  9.             Console.ReadKey();
  10.         }
  11.  
  12.         static public string NumberToText(int x)
  13.         {
  14.             string answer = "";
  15.  
  16.             string y = "" + x;
  17.             char[] number = y.ToCharArray();
  18.             int len = number.Length;
  19.            
  20.  
  21.             if (Check(x) == false)
  22.             {
  23.                 answer = "Number is invalid";
  24.                 return answer;
  25.             }
  26.             else
  27.             {
  28.                 string[] ones = new string[] { "", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine" };
  29.                 string[] teens = new string[] { "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen" };
  30.                 string[] tens = new string[] { "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety" };
  31.  
  32.                 if (x == 0)
  33.                 {
  34.                     answer = "Zero";
  35.                     return answer;
  36.                 }
  37.                 else
  38.                 {
  39.                     if (len == 1)
  40.                     {
  41.                         int p1 = Convert.ToInt16(number[0]) - 48;
  42.                         answer = ones[p1];
  43.                         return answer;
  44.                     }
  45.  
  46.                     else if (len == 2)
  47.                     {
  48.                         int p1 = Convert.ToInt16(number[0]) - 48;
  49.                         int p2 = Convert.ToInt16(number[1]) - 48;
  50.  
  51.                         if (x >= 20)
  52.                         {
  53.                             answer = tens[p1 - 2] + "-" + ones[p2];
  54.                             return answer;
  55.                         }
  56.                         else
  57.                         {
  58.                             answer = teens[x - 10];
  59.                             return answer;
  60.                         }
  61.                     }
  62.                     else
  63.                     {
  64.                         int p1 = Convert.ToInt16(number[0]) - 48;
  65.                         int p2 = Convert.ToInt16(number[1]) - 48;
  66.                         int p3 = Convert.ToInt16(number[2]) - 48;
  67.  
  68.                         if (p2 >= 2)
  69.                         {
  70.                             answer = ones[p1] + " Hundred " + tens[p2 - 2] + " " + ones[p3];
  71.                             return answer;
  72.                         }
  73.                         else
  74.                         {
  75.                             int teen = p2 * 10 + p3;
  76.                             answer = ones[p1] + " Hundred " + teens[teen - 10];
  77.                             return answer;
  78.                         }                  
  79.                     }
  80.                 }
  81.             }
  82.         }
  83.  
  84.         static public bool Check(int x)
  85.         {
  86.             bool valid;
  87.  
  88.             if (x < 0 || x > 999)
  89.             {
  90.                 valid = false;
  91.                 return valid;
  92.             }
  93.             else
  94.             {
  95.                 valid = true;
  96.                 return valid;
  97.             }
  98.         }
Add Comment
Please, Sign In to add comment