Advertisement
Guest User

Untitled

a guest
Sep 16th, 2014
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1.  
  2. def englishnumber number
  3. recursiveenglishnumber number, 0
  4. end
  5.  
  6. def recursiveenglishnumber number, place
  7.  
  8. undertwenty= ['zero', 'one', 'two', 'three',
  9. 'four', 'five', 'six',
  10. 'seven', 'eight', 'nine', 'ten',
  11. 'eleven', 'twelve', 'thirteen',
  12. 'fourteen', 'fifteen', 'sixteen',
  13. 'seventeen', 'eighteen', 'nineteen']
  14.  
  15. tens_place = ['twenty', 'thirty',
  16. 'forty', 'fifty', 'sixty',
  17. 'seventy', 'eighty', 'ninety']
  18.  
  19. threezeros = [' thousand', ' million', ' billion', ' trillion', ' quadrillion']
  20.  
  21. #puts 'entering function with place of ' + place.to_s
  22. if number < 0
  23. return 'Please enter a positive number'
  24. elsif number==0 && place==0
  25. return 'zero'
  26. end
  27. answer = String.new
  28. if number > 999
  29. #puts 'recursion at ' + number.to_s + ' passing in ' + (number/1000).to_s
  30. answer = recursiveenglishnumber (number/1000), (place+1)
  31. end
  32.  
  33. number %= 1000
  34. if number/100 > 0
  35. # answer = String.new
  36. answer = answer.to_s + undertwenty[number/100].to_s
  37. answer += " hundred "
  38. number%=100
  39. end
  40.  
  41. if number < 20 && number !=0
  42. #puts answer
  43. #puts undertwenty[number]
  44. answer += undertwenty[number]
  45. elsif number >= 20
  46. answer += tens_place[number/10-2]
  47. if number%10!=0
  48. answer+='-'
  49. answer+=undertwenty[number%10]
  50. end
  51. end
  52. if place > 0
  53. answer+=threezeros[place-1]
  54. answer+=' '
  55. end
  56. return answer
  57. end
  58.  
  59. puts "Give a number: "
  60. i = gets.chomp.to_i
  61. while i >=0
  62. puts englishnumber i
  63. i -=1
  64. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement