Conceptos básicos de conversión de tipos
Parte de la sección Fundamentos del Journey de R de Coddy — lección 30 de 78.
Como se mencionó en la lección anterior, readline() siempre devuelve una cadena de caracteres. Si un usuario escribe "25", obtienes el texto "25", no el número 25. Esto es importante porque no puedes hacer cálculos matemáticos con texto.
Para convertir una cadena de caracteres en un número, use as.numeric():
input <- "42"
number <- as.numeric(input)
cat(number + 8, "\n") # Salida: 50Esto es esencial al trabajar con la entrada del usuario. Aquí tienes un patrón común que utilizarás:
age_text <- readline()
age <- as.numeric(age_text)
cat("In 10 years, you will be", age + 10, "\n")También puedes convertir en la dirección opuesta usando as.character():
number <- 100
text <- as.character(number)
cat("The value is:", text, "\n")Convertir números a caracteres es útil cuando necesitas combinarlos con otro texto o cuando una función requiere específicamente una entrada de caracteres. Estas funciones de conversión son tus herramientas para moverte entre tipos de datos siempre que tu programa lo necesite.
Desafío
FácilLee dos valores numéricos como entrada, realiza un cálculo y muestra el resultado con una etiqueta.
Recibirás dos entradas:
- Un precio (como una cadena de texto)
- Una cantidad (como una cadena de texto)
Convierte ambas entradas a valores numéricos usando as.numeric(), luego calcula el costo total multiplicando el precio por la cantidad.
Muestra la salida en el siguiente formato:
Total: [result]Usa cat() para la salida e incluye un carácter de nueva línea \n al final.
Por ejemplo, si las entradas son 15.50 y 4, la salida debería ser:
Total: 62Hoja de referencia
Usa as.numeric() para convertir una cadena de caracteres en un número:
input <- "42"
number <- as.numeric(input)
cat(number + 8, "\n") # Output: 50Patrón común para convertir la entrada del usuario:
age_text <- readline()
age <- as.numeric(age_text)
cat("In 10 years, you will be", age + 10, "\n")Usa as.character() para convertir un número en una cadena de caracteres:
number <- 100
text <- as.character(number)
cat("The value is:", text, "\n")Pruébalo tú mismo
# Leer entrada
con <- file("stdin", "r")
price_str <- suppressWarnings(readLines(con, n = 1))
quantity_str <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: Escribe tu código a continuación
# 1. Convierte price_str y quantity_str a valores numéricos usando as.numeric()
# 2. Calcula el costo total (price * quantity)
# 3. Muestra el resultado usando cat() con el formato "Total: [result]\n"Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos (AND, OR)Operadores lógicos Parte 2 (NOT)Resumen - Lógica simpleLógica vectorizada Parte 1Lógica vectorizada Parte 27Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario2Variables y tipos de datos
Tipo de dato numéricoTipo de dato enteroTipo de dato de caracteresTipo de dato lógicoComprobación de tipos de datosConvenciones de nomenclaturaValores faltantes: NAResumen - Creación de variables8Bucles
Bucle ForBucle WhileBreakNext (Continue)Repaso - FactorialGeneración de secuencias (seq, :)Bucles anidadosRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosDivisión entera y móduloOperadores de asignaciónRepaso - Matemáticas simplesOperadores de comparación6E/S básica
Imprimir salidaCat para salidaSalida con variablesLectura de entrada con readline()Conceptos básicos de conversión de tiposResumen - Calculadora de edadResumen - Verdadero o falso9Funciones
Declarar una funciónArgumentos de una funciónValores de retornoRepaso - Función SigmaRepaso - Función de validaciónValores de parámetros por defecto