Menu
CoddyTech

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

Часть раздела Основы путешествия по Swift на Coddy. Урок 34 из 86.

Поскольку readLine() возвращает String?, вам часто потребуется преобразовать эту строку в число, чтобы выполнять вычисления. Swift требует явного преобразования типа. Он не преобразует строку в целое число или число с плавающей точкой автоматически.

Чтобы преобразовать строку в целое число, используй инициализатор Int(). Поскольку преобразование может завершиться неудачей (строка может содержать буквы вместо цифр), он возвращает опционал:

let input = "42"
if let number = Int(input) {
    print(number + 10) // Вывод: 52
}

Для десятичных чисел используй Double():

let priceString = "19.99"
if let price = Double(priceString) {
    print(price * 2) // Вывод: 39.98
}

Это особенно полезно при сочетании readLine() с числовыми операциями. Можно объединить распаковку в цепочку:

if let input = readLine(), let age = Int(input) {
    print("Next year you'll be \(age + 1)")
}

Запятая в инструкции if let означает, что должны выполниться оба условия: ввод должен существовать, и его должно быть возможно преобразовать в целое число.

challenge icon

Задание

Легко

Считай два значения: десятичное число в виде строки и целое число в виде строки. Преобразуй их в соответствующие числовые типы и вычисли их произведение.

Ты получишь следующие значения:

  • Первая строка: десятичное число (например, "3.5")
  • Вторая строка: целое число (например, "4")

Используй readLine(), чтобы считать оба значения. Преобразуй первое значение в Double, а второе — в Int. Затем перемножь их и выведи результат.

Используй if let с цепочечной опциональной привязкой, чтобы безопасно распаковать оба введённых значения и преобразованные значения.

Выведи: произведение двух чисел типа Double

Попробуйте сами

// Считайте десятичное число как строку
if let decimalString = readLine() {
    // Считайте целое число как строку
    if let intString = readLine() {
        // TODO: Напишите свой код ниже
        // Преобразуйте decimalString в Double, а intString в Int, используя if let
        // Затем вычислите и выведите их произведение
        
    }
}
quiz iconПроверьте себя

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

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

Потренируйтесь самостоятельно: Песочница Swift