Guest User

Untitled

a guest
Oct 22nd, 2014
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.82 KB | None | 0 0
  1. # Write a program that converts numerical values (ie. 5) into their English equivalent (five).
  2. print "Enter a postive number: "
  3. user_number = gets.chomp.to_i
  4.  
  5. def english_number(number)
  6.   number_string = ''
  7.   ones = "One Two Three Four Five Six Seven Eight Nine".split(' ')
  8.   tens = "Twenty Thirty Fourty Fifty Sixty Seventy Eighty Ninety".split(' ')
  9.   teens = "Eleven Twelve Thirteen Fourteen Fifteen Sixteen Seventeen Eighteen Nineteen".split(' ')
  10.  
  11.   if number < 0
  12.     return "Please enter a positive integer."
  13.   end
  14.  
  15.   if number == 0
  16.     return "Zero"
  17.   end
  18.  
  19.   if number >= 1*10E8
  20.     # Billions
  21.     number_string += english_number(number / 1*10E8.to_i) + " Billion"
  22.     number /= 1*10E8.to_i
  23.  
  24.     number_string += " " if number > 0
  25.   end
  26.  
  27.   if number >= 1*10E5
  28.     # Millions
  29.     number_string += english_number(number / 1*10E5.to_i) + " Million"
  30.     number /= 1*10E5.to_i
  31.    
  32.     number_string += " " if number > 0
  33.   end
  34.  
  35.   if number >= 1*10E2
  36.     # Thousands
  37.     number_string += english_number(number / 1*10E2.to_i) + " Thousand"
  38.     number /= 1*10E2.to_i
  39.    
  40.     number_string += " " if number > 0
  41.   end
  42.  
  43.   if number >= 1*10E1
  44.     # Hundreds
  45.     number_string += english_number(number / 1*10E1.to_i) + " Hundred"
  46.     number /= 1*10E2.to_i
  47.    
  48.     number_string += " " if number > 0
  49.   end
  50.  
  51.   if number >= 20
  52.     # Tens
  53.     tens_val = number/10
  54.     number_string += tens[number/10 - 2]
  55.     number -= tens_val * 10
  56.  
  57.     number_string += " " if number > 0
  58.   end
  59.  
  60.   if number > 10
  61.     # Teens
  62.     number_string += teens[number % 10 - 1]
  63.     number %= 10
  64.  
  65.     number_string += " " if number > 0
  66.   end
  67.  
  68.   if number == 10
  69.     number_string += "Ten"
  70.   else
  71.     number_string += ones[number - 1]
  72.   end
  73.  
  74.   return number_string
  75. end
  76.  
  77. puts "You entered " + english_number(user_number)
Advertisement
Add Comment
Please, Sign In to add comment