Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def englishnumber number
- recursiveenglishnumber number, 0
- end
- def recursiveenglishnumber number, place
- undertwenty= ['zero', 'one', 'two', 'three',
- 'four', 'five', 'six',
- 'seven', 'eight', 'nine', 'ten',
- 'eleven', 'twelve', 'thirteen',
- 'fourteen', 'fifteen', 'sixteen',
- 'seventeen', 'eighteen', 'nineteen']
- tens_place = ['twenty', 'thirty',
- 'forty', 'fifty', 'sixty',
- 'seventy', 'eighty', 'ninety']
- threezeros = [' thousand', ' million', ' billion', ' trillion', ' quadrillion']
- #puts 'entering function with place of ' + place.to_s
- if number < 0
- return 'Please enter a positive number'
- elsif number==0 && place==0
- return 'zero'
- end
- answer = String.new
- if number > 999
- #puts 'recursion at ' + number.to_s + ' passing in ' + (number/1000).to_s
- answer = recursiveenglishnumber (number/1000), (place+1)
- end
- number %= 1000
- if number/100 > 0
- # answer = String.new
- answer = answer.to_s + undertwenty[number/100].to_s
- answer += " hundred "
- number%=100
- end
- if number < 20 && number !=0
- #puts answer
- #puts undertwenty[number]
- answer += undertwenty[number]
- elsif number >= 20
- answer += tens_place[number/10-2]
- if number%10!=0
- answer+='-'
- answer+=undertwenty[number%10]
- end
- end
- if place > 0
- answer+=threezeros[place-1]
- answer+=' '
- end
- return answer
- end
- puts "Give a number: "
- i = gets.chomp.to_i
- while i >=0
- puts englishnumber i
- i -=1
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement