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.
Desafio
FácilLeia 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
}
}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
4Operadores - Parte 1
Operadores aritméticosOperador móduloAtribuição compostaRecapitulação - Matemática simplesOperadores de comparação7Entrada e Saída Básicas
Função printInterpolação de stringsEntrada com readlineConversão de tiposRecapitulação - Até 120Recapitulação - Verdadeiro ou falso10Funções
Declare uma funçãoParâmetros e argumentosValores de retornoRótulos de argumentosRevisão - função SigmaRevisão - função de validaçãoValores padrão13Iterando sobre Sequências
Iterando sobre ElementosO Método EnumeradoIterando sobre Strings P1Iterando sobre Strings P22Variáveis
Let vs VarAnotações de tipoNúmerosStringBooleanoConvenções de nomenclaturaRecapitulação - Inicializar variáveis5Operadores — Parte 2
Operadores lógicos — Parte 1Operadores lógicos — Parte 2Revisão — Lógica simplesOperadores lógicos — Parte 3Operador ternário8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo Dados de Entrada11FizzBuzz com um Toque Especial
Visão Geral do JogoA Função FizzBuzz3Optionais
O que são OptionaisDesembrulhando com If LetGuard LetOperador de Coalescência de NilRecapitulação - Desembrulhamento Seguro6Tomada de Decisões
Instrução IfIf - ElseRecapitulação - Calculadora SimplesInstrução SwitchSwitch com Intervalos9Laços de Repetição
Laço For-InLaço WhileLaço Repeat-WhileBreakContinueRevisão - FatorialIntervalos em LaçosLaço AninhadoRevisão - Entrada Dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando ElementosModificando ArraysMétodos de ArrayRevisão - Lista de ProdutosRevisão - Array InvertidoTuplas15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do ProgramaPratique por conta própria: Playground de Swift