Menu
Coddy logo textTech

Преобразование типов

Часть раздела Основы путешествия по Ruby на Coddy — урок 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
challenge icon

Задание

Легко

Прочитайте два числа, введенных пользователем. Первое число — целое (integer), а второе — десятичное (float).

Вычислите и выведите на отдельных строках следующее:

  1. Сумма обоих чисел
  2. Произведение обоих чисел (умножение)

Обязательно преобразуйте каждый ввод в соответствующий числовой тип перед выполнением вычислений.

Например, если входные данные — 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: Напишите ниже свой код для вычисления суммы и произведения


# Вывод результатов (выведите сумму и произведение на отдельных строках)
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы