Básico de Conversão de Tipos
Parte da seção Fundamentos do Journey de R da Coddy — lição 30 de 78.
Como mencionado na lição anterior, readline() sempre retorna uma string de caracteres. Se um usuário digitar "25", você recebe o texto "25", não o número 25. Isso é importante porque você não pode fazer cálculos matemáticos com texto.
Para converter uma string de caracteres em um número, use as.numeric():
input <- "42"
number <- as.numeric(input)
cat(number + 8, "\n") # Saída: 50Isso é essencial ao trabalhar com a entrada do usuário. Aqui está um padrão comum que você usará:
age_text <- readline()
age <- as.numeric(age_text)
cat("In 10 years, you will be", age + 10, "\n")Você também pode converter na direção oposta usando as.character():
number <- 100
text <- as.character(number)
cat("The value is:", text, "\n")Converter números em caracteres é útil quando você precisa combiná-los com outro texto ou quando uma função exige especificamente a entrada de caracteres. Essas funções de conversão são suas ferramentas para transitar entre tipos de dados sempre que seu programa precisar.
Desafio
FácilLeia dois valores numéricos como entrada, realize um cálculo e exiba o resultado com um rótulo.
Você receberá duas entradas:
- Um preço (como uma string)
- Uma quantidade (como uma string)
Converta ambas as entradas para valores numéricos usando as.numeric(), depois calcule o custo total multiplicando o preço pela quantidade.
Exiba a saída no seguinte formato:
Total: [result]Use cat() para a saída e inclua um caractere de nova linha \n ao final.
Por exemplo, se as entradas forem 15.50 e 4, a saída deve ser:
Total: 62Folha de consulta
Use as.numeric() para converter uma string de caracteres em um número:
input <- "42"
number <- as.numeric(input)
cat(number + 8, "\n") # Saída: 50Padrão comum para converter a entrada do usuário:
age_text <- readline()
age <- as.numeric(age_text)
cat("In 10 years, you will be", age + 10, "\n")Use as.character() para converter um número em uma string de caracteres:
number <- 100
text <- as.character(number)
cat("The value is:", text, "\n")Experimente você mesmo
# Ler entrada
con <- file("stdin", "r")
price_str <- suppressWarnings(readLines(con, n = 1))
quantity_str <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: Escreva seu código abaixo
# 1. Converta price_str e quantity_str para valores numéricos usando as.numeric()
# 2. Calcule o custo total (price * quantity)
# 3. Exiba o resultado usando cat() com o formato "Total: [result]\n"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 2
Operadores Lógicos (AND, OR)Operadores Lógicos Parte 2 (NOT)Recapitulação - Lógica SimplesLógica Vetorizada Parte 1Lógica Vetorizada Parte 27Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo a Entrada do Usuário10FizzBuzz com um Toque Especial
Visão Geral do JogoA Função FizzBuzz2Variáveis e Tipos de Dados
Tipo de Dado NuméricoTipo de Dado InteiroTipo de Dado CaractereTipo de Dado LógicoVerificando Tipos de DadosConvenções de NomenclaturaValores Ausentes: NARecapitulação - Criação de Variáveis8Laços de Repetição
Laço ForLaço WhileBreakNext (Continue)Recapitulação - FatorialGeração de Sequências (seq, :)Laços AninhadosRecapitulação - Entrada Dinâmica3Operadores Parte 1
Operadores AritméticosDivisão Inteira e MóduloOperadores de AtribuiçãoRecapitulação - Matemática SimplesOperadores de Comparação6IO Básico
Saída com PrintCat para SaídaSaída com VariáveisLendo Entrada com readline()Básico de Conversão de TiposRecapitulação - Calculadora de IdadeRecapitulação - Verdadeiro ou Falso9Funções
Declarando uma FunçãoArgumentos de FunçãoValores de RetornoRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores de Parâmetro Padrão