型変換
CoddyのRubyジャーニー「基礎」セクションの一部 — レッスン 31/88。
gets で入力を読み込むとき、ユーザーが数値を入力したとしても、Rubyは常に文字列を返します。これは、計算を行う必要がある場合に問題となります。
age = gets.chomp
puts age + 5このコードは、文字列に数値を加算できないため、エラーが発生します。これを修正するには、.to_i(整数へ)または .to_f(浮動小数点へ)を使用して、文字列を数値に変換する必要があります:
age = gets.chomp.to_i
puts age + 5ここで、ユーザーが "20" と入力すると、出力は 25 になります。小数が必要な場合は .to_f を使用してください:
price = gets.chomp.to_f
puts price * 1.1.to_s を使って、数値を文字列に戻すこともできます。これは、文字列補完を使わずに数値とテキストを組み合わせる必要がある場合に便利です:
count = 42
puts "Count: " + count.to_sチャレンジ
簡単ユーザーから2つの数値を入力として読み取ります。最初の入力は整数(integer)で、2番目の入力は小数(float)です。
次の値を計算し、別々の行に出力してください:
- 両方の数値の和
- 両方の数値の積(掛け算)
計算を行う前に、各入力を適切な数値型に変換するようにしてください。
例えば、入力が 5 と 2.5 の場合、出力は以下のようになります:
7.5
12.5チートシート
gets で入力を読み込む際、Ruby は常に文字列を返します。計算を行うには、.to_i(整数へ)または .to_f(浮動小数点数へ)を使用して文字列を数値に変換します:
age = gets.chomp.to_i
puts age + 5小数には .to_f を使用します:
price = gets.chomp.to_f
puts price * 1.1.to_s を使用して数値を文字列に戻します:
count = 42
puts "Count: " + count.to_s自分で試してみよう
# 入力を読み込む
integer_num = gets.chomp.to_i
float_num = gets.chomp.to_f
# TODO: 以下に和と積を計算するコードを記述してください
# 結果を出力する(和と積を別々の行に表示する)このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。