Поэтому я пробую код для преобразования чисел в строки. Однако я заметил, что в некоторых случаях он не сохраняет последние два десятичных знака. Например, я набираю 1.01 и 1.04 для добавления и получаю обратно 2.04. Если я наберу только 1,05, он сохранит число и вернет его точно. Я понимаю, что происходит, вещи округляются. Я не знаю, как предотвратить его округление. Должен ли я просто рассматривать отправку (1.01 + 1.04) себе только как один вход?
Предупреждение! Я еще не пробовал это, поэтому не знаю, поддерживается ли это:
user_input = (1.04+1.01) #entry from user
user_input = gets.to_f
user_input.to_test_string
Что у меня есть до сих пор:
class Float
def to_test_string
cents = self % 1
dollars = self - cents
cents = cents * 100
text = "#{dollars.to_i.en.numwords} dollars and #{cents.to_i.en.numwords} cents"
puts text
text
end
end
puts "Enter two great floating point numbers for adding"
puts "First number"
c = gets.to_f
puts "Second number"
d = gets.to_f
e = c+d
puts e.to_test_string
puts "Enter a great floating number! Example 10.34"
a = gets.to_f
puts a.to_test_string
Спасибо за помощь! Опубликуйте код, чтобы я мог попробовать!
en
иnumwords
методами Ruby или чем-то из Rails ActiveSupport? - person Andrew Grimm   schedule 08.11.2010ruby
, а неruby-on-rails
. - person Andrew Grimm   schedule 08.11.2010