Menu
CoddyTech

Chuyển đổi kiểu dữ liệu

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

Vì readLine() trả về một String?, bạn thường cần chuyển đổi chuỗi đó thành số để thực hiện phép tính. Swift yêu cầu bạn chuyển đổi kiểu dữ liệu một cách tường minh. Swift sẽ không tự động chuyển chuỗi thành số nguyên hoặc số thực.

Để chuyển một chuỗi thành số nguyên, hãy dùng hàm khởi tạo Int(). Vì phép chuyển đổi có thể thất bại (chuỗi có thể chứa chữ cái thay vì chữ số), hàm này trả về một giá trị tùy chọn:

let input = "42"
if let number = Int(input) {
    print(number + 10) // Đầu ra: 52
}

Với số thập phân, hãy dùng Double():

let priceString = "19.99"
if let price = Double(priceString) {
    print(price * 2) // Đầu ra: 39.98
}

Điều này đặc biệt hữu ích khi kết hợp readLine() với các phép toán số học. Bạn có thể nối các thao tác mở gói với nhau:

if let input = readLine(), let age = Int(input) {
    print("Next year you'll be \(age + 1)")
}

Dấu phẩy trong câu lệnh if let có nghĩa là cả hai điều kiện đều phải thỏa mãn: đầu vào phải tồn tại và có thể chuyển đổi thành số nguyên.

challenge icon

Thử thách

Dễ

Đọc hai đầu vào: một số thập phân dưới dạng chuỗi và một số nguyên dưới dạng chuỗi. Chuyển chúng sang kiểu số phù hợp rồi tính tích của chúng.

Bạn sẽ nhận các đầu vào sau:

  • Dòng đầu tiên: Một số thập phân (ví dụ: "3.5")
  • Dòng thứ hai: Một số nguyên (ví dụ: "4")

Dùng readLine() để đọc cả hai đầu vào. Chuyển đầu vào thứ nhất thành Double và đầu vào thứ hai thành Int. Sau đó nhân chúng với nhau và in ra kết quả.

Dùng if let với liên kết tùy chọn nối tiếp để mở an toàn cả đầu vào lẫn giá trị đã chuyển đổi.

In ra: Tích của hai số dưới dạng Double

Tự làm thử

// Đọc số thập phân dưới dạng chuỗi (string)
if let decimalString = readLine() {
    // Đọc số nguyên (integer) dưới dạng chuỗi
    if let intString = readLine() {
        // TODO: Viết code của bạn bên dưới
        // Dùng if let để chuyển decimalString sang Double và intString sang Int
        // Sau đó tính và in ra tích của hai số
        
    }
}
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: Playground Swift