Conversão de Tipos
Parte da seção Fundamentos do Journey de Kotlin da Coddy. Lição 38 de 93.
Como readLine() retorna uma string anulável (null no final da entrada), você precisará converter essa entrada quando quiser trabalhar com números. O Kotlin fornece funções de conversão para transformar strings em outros tipos.
Para converter uma string em um inteiro, use toInt():
fun main() {
val input = readLine()!!
val number = input.toInt()
println(number + 10)
}Se o usuário digitar "5", o programa o converte para o inteiro 5 e, em seguida, adiciona 10 para obter 15. Sem a conversão, "5" + 10 concatena texto e produz "510". Converter primeiro resulta em uma adição numérica.
Para números decimais, use toDouble():
fun main() {
val price = readLine()!!.toDouble()
println("With tax: ${price * 1.1}")
}Você pode encadear a conversão diretamente após readLine()!! para deixar o código mais limpo. Outras conversões úteis incluem toLong() para números inteiros grandes e toBoolean() para valores booleanos.
Essas conversões pressupõem que a entrada seja válida. Se alguém digitar "olá" quando você espera um número, o programa irá travar. Você aprenderá a lidar com esses erros mais adiante no curso.
Desafio
FácilEscreva uma função calculateFutureAge que receba currentAge e yearsToAdd como strings e retorne a idade futura como um inteiro.
Converta ambos os parâmetros de string para inteiros, some-os e retorne o resultado.
Parâmetros:
currentAge(String): A idade atual como uma string (por exemplo, "25")yearsToAdd(String): O número de anos a adicionar como uma string (por exemplo, "10")
Retorno: A soma de ambos os valores como um inteiro (Int)
Experimente você mesmo
fun calculateFutureAge(currentAge: String, yearsToAdd: String): Int {
// Escreva o código aqui
}
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 aumentadaOperadores de comparaçãoRecapitulação – Matemática simples7Entrada e Saída Básicas
Função PrintlnTemplates de StringEntrada com ReadLineConversão de TiposRevisão - Anos até a AposentadoriaRevisão - Verdadeiro ou Falso10Funções
Declare uma funçãoParâmetros e argumentosValores de retornoArgumentos nomeadosValores padrãoFunções de expressão únicaRecapitulação — função SigmaRecapitulação — função de validação2Variáveis
Val vs VarInferência de TiposNúmerosStringBooleanoConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores – Parte 2
Operadores lógicos – Parte 1Operadores lógicos – Parte 2Operadores lógicos – Parte 3Ternário com expressão ifRecapitulação – Lógica simples8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo a Entrada11FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz3Nullabilidade
O que é Null SafetyTipos anuláveisOperador de chamada seguraOperador ElvisNoções básicas do desafio de funçõesAsserção de não nuloRecapitulação - Acesso seguro6Tomada de Decisões
Instrução IfIf - ElseIf como ExpressãoExpressão WhenWhen com IntervalosRecapitulação - Calculadora Simples9Laços de Repetição
Laço ForLaço WhileLaço Do-WhileBreakContinueIntervalos em LaçosLaço AninhadoRecapitulação - FatorialRecapitulação - Entrada Dinâmica12Fundamentos de Listas
List vs MutableListAcessando ElementosModificando ListasMétodos de ListaPair e TripleRecapitulação - Lista de ProdutosRecapitulação - Lista Invertida15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do ProgramaPratique por conta própria: Playground de Kotlin