Menu
CoddyTech

Cơ bản về chuyển đổi kiểu

Thuộc phần Kiến thức nền tảng trong hành trình R của Coddy. Bài học 30 trên 78.

Như đã đề cập trong bài học trước, readline() luôn trả về một chuỗi ký tự. Nếu người dùng nhập "25", bạn nhận được văn bản "25", chứ không phải số 25. Điều này quan trọng vì bạn không thể tính toán với văn bản.

Để chuyển một chuỗi ký tự thành số, hãy dùng as.numeric():

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

cat(number + 8, "\n")  # Đầu ra: 50

Điều này rất cần thiết khi làm việc với dữ liệu đầu vào của người dùng. Đây là mẫu phổ biến bạn sẽ dùng:

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

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

Bạn cũng có thể chuyển đổi theo chiều ngược lại bằng cách dùng as.character():

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

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

Chuyển đổi số thành ký tự rất hữu ích khi bạn cần kết hợp chúng với văn bản khác hoặc khi một hàm yêu cầu đầu vào là ký tự. Các hàm chuyển đổi này giúp bạn chuyển đổi giữa các kiểu dữ liệu khi chương trình cần.

challenge icon

Thử thách

Dễ

Đọc hai giá trị số làm đầu vào, thực hiện phép tính và hiển thị kết quả kèm nhãn.

Bạn sẽ nhận hai đầu vào:

  1. Một mức giá (dưới dạng chuỗi)
  2. Một số lượng (dưới dạng chuỗi)

Dùng as.numeric() để chuyển cả hai đầu vào thành giá trị số, sau đó tính tổng chi phí bằng cách nhân mức giá với số lượng.

Hiển thị đầu ra theo định dạng sau:

Total: [result]

Dùng cat() để xuất kết quả và thêm ký tự xuống dòng \n ở cuối.

Ví dụ: nếu đầu vào là 15.50 và 4, đầu ra sẽ là:

Total: 62

Tự làm thử

# Đọc đầu vào
con <- file("stdin", "r")
price_str <- suppressWarnings(readLines(con, n = 1))
quantity_str <- suppressWarnings(readLines(con, n = 1))
close(con)

# TODO: Viết code bên dưới
# 1. Dùng as.numeric() để chuyển price_str và quantity_str thành giá trị số
# 2. Tính tổng chi phí (price * quantity)
# 3. Dùng cat() để hiển thị kết quả theo định dạng "Total: [result]\n"
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch R online