Menu
CoddyTech

类型转换基础

本课属于 Coddy R 学习旅程的“基础知识”单元。第 30 课,共 78 课。

正如上一课提到的,readline() 总是返回字符串。如果用户输入“25”,你得到的是文本 "25",而不是数字 25。这一点很重要,因为你不能用文本做数学运算。

要将字符串转换为数字,请使用 as.numeric():

input <- "42"
number <- as.numeric(input)

cat(number + 8, "\n")  # 输出:50

处理用户输入时,这一点很重要。下面是一种常用模式:

age_text <- readline()
age <- as.numeric(age_text)

cat("In 10 years, you will be", age + 10, "\n")

你也可以使用 as.character()进行反向转换:

number <- 100
text <- as.character(number)

cat("The value is:", text, "\n")

当你需要将数字与其他文本组合,或者某个函数明确要求输入字符时,把数字转换为字符就很有用。当程序需要在不同数据类型之间转换时,这些转换函数就能派上用场。

challenge icon

挑战

简单

读取两个数值作为输入,执行计算,并带标签显示结果。

你会收到两个输入:

  1. 一个价格(字符串)
  2. 一个数量(字符串)

使用 as.numeric() 将两个输入都转换为数值,然后将价格乘以数量,计算总成本。

按以下格式显示输出:

Total: [result]

使用 cat() 输出,并在末尾加上换行符 \n。

例如,如果输入是 15.50 和 4,输出应为:

Total: 62

亲手试试

# 读取输入
con <- file("stdin", "r")
price_str <- suppressWarnings(readLines(con, n = 1))
quantity_str <- suppressWarnings(readLines(con, n = 1))
close(con)

# TODO:在下方编写你的代码
# 1. 使用 as.numeric() 将 price_str 和 quantity_str 转换为数值
# 2. 计算总费用(price * quantity)
# 3. 使用 cat() 按照 "Total: [result]\n" 格式显示结果
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: R 在线编译器