Menu
Coddy logo textTech

Conversão de tipos

Parte da seção Fundamentos do Journey de Swift da Coddy. Lição 34 de 86.

Como readLine() retorna uma String?, você frequentemente precisará converter essa string em um número para realizar cálculos. O Swift exige uma conversão de tipo explícita. Ele não transformará automaticamente uma string em um inteiro ou um número de ponto flutuante.

Para converter uma string em um inteiro, use o inicializador Int(). Como a conversão pode falhar (a string pode conter letras em vez de dígitos), ele retorna um opcional:

let input = "42"
if let number = Int(input) {
    print(number + 10) // Saída: 52
}

Para números decimais, use Double():

let priceString = "19.99"
if let price = Double(priceString) {
    print(price * 2) // Saída: 39.98
}

Isso é especialmente útil ao combinar readLine() com operações numéricas. Você pode encadear o desempacotamento:

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

A vírgula na instrução if let significa que ambas as condições devem ser atendidas: a entrada deve existir e deve ser conversível em um inteiro.

challenge icon

Desafio

Fácil

Leia duas entradas: um número decimal como string e um inteiro como string. Converta-os para seus tipos numéricos apropriados e calcule o produto.

Você receberá as seguintes entradas:

  • Primeira linha: Um número decimal (por exemplo, "3.5")
  • Segunda linha: Um inteiro (por exemplo, "4")

Use readLine() para ler ambas as entradas. Converta a primeira entrada para um Double e a segunda para um Int. Em seguida, multiplique-os e imprima o resultado.

Use if let com vinculação opcional encadeada para desembrulhar com segurança tanto a entrada quanto o valor convertido.

Imprima: O produto dos dois números como um Double

Experimente você mesmo

// Leia o número decimal como uma string
if let decimalString = readLine() {
    // Leia o inteiro como uma string
    if let intString = readLine() {
        // TODO: Escreva seu código abaixo
        // Converta decimalString para Double e intString para Int usando if let
        // Em seguida, calcule e imprima o produto deles
        
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Playground de Swift