Menu
Coddy logo textTech

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: 50

Esto 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.

challenge icon

Desafío

Fácil

Lee dos valores numéricos como entrada, realiza un cálculo y muestra el resultado con una etiqueta.

Recibirás dos entradas:

  1. Un precio (como una cadena de texto)
  2. 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: 62

Hoja 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: 50

Patró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"
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos