Advertisement
skipter

C# Number to Words - Arrays and Methods

Jun 22nd, 2017
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.29 KB | None | 0 0
  1. namespace _07.Numbers_to_Words
  2. {
  3.     using System;
  4.     using System.Collections.Generic;
  5.     using System.Linq;
  6.  
  7.     public class NumbersToWords
  8.     {
  9.         public static void Main()
  10.         {
  11.             var n = int.Parse(Console.ReadLine());
  12.             EndResult(n);
  13.         }
  14.  
  15.         static void EndResult(int n)
  16.         {
  17.             for (int i = 0; i < n; i++)
  18.             {
  19.                 var number = int.Parse(Console.ReadLine());
  20.  
  21.                 if (number > 999)
  22.                 {
  23.                     Console.WriteLine("too large");
  24.                 }
  25.                 else if (number < -999)
  26.                 {
  27.                     Console.WriteLine("too small");
  28.                 }
  29.                 else
  30.                 {
  31.                     var numberInLetterz = string.Empty;
  32.  
  33.                     if (number < 0)
  34.                     {
  35.                         numberInLetterz = Letterize(Math.Abs(number));
  36.                         Console.WriteLine($"minus {numberInLetterz}");
  37.                     }
  38.                     else
  39.                     {
  40.                         numberInLetterz = Letterize(number);
  41.                         Console.WriteLine(numberInLetterz);
  42.                     }
  43.                 }
  44.             }
  45.         }
  46.  
  47.         static string Letterize(int number)
  48.         {
  49.             string[] ones = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
  50.             string[] teens = { "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
  51.             string[] tens = { "zero", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" };
  52.  
  53.             var result = string.Empty;
  54.             var hundreds = 0;
  55.             if (number > 99 && number < 1000)
  56.             {
  57.                 if (number % 100 == 0)
  58.                 {
  59.                     hundreds = number / 100;
  60.                     result = $"{ones[hundreds]}-hundred";
  61.                 }
  62.                 else
  63.                 {
  64.                     hundreds = number / 100;
  65.                     var ten = number % 100;
  66.                     var lastTwoDigits = 0;
  67.                     if (ten > 0 && ten < 10)
  68.                     {
  69.                         lastTwoDigits = ten % 10;
  70.                         result = $"{ones[hundreds]}-hundred and {ones[lastTwoDigits]}";
  71.                     }
  72.                     else if (ten > 9 && ten < 20)
  73.                     {
  74.                         lastTwoDigits = ten % 10;
  75.                         result = $"{ones[hundreds]}-hundred and {teens[lastTwoDigits]}";
  76.                     }
  77.                     else if (ten >= 20 && ten < 100)
  78.                     {
  79.                         if (ten % 10 == 0)
  80.                         {
  81.                             lastTwoDigits = ten / 10;
  82.                             result = $"{ones[hundreds]}-hundred and {tens[lastTwoDigits]}";
  83.                         }
  84.                         else
  85.                         {
  86.                             lastTwoDigits = ten / 10;
  87.                             result = $"{ones[hundreds]}-hundred and {tens[lastTwoDigits]} {ones[hundreds]}";
  88.                         }
  89.                     }
  90.  
  91.                 }
  92.             }
  93.             return result;
  94.         }
  95.     }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement