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.
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ố
}
}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
4Các toán tử, phần 1
Toán tử số họcToán tử moduloPhép gán kết hợpÔn tập: phép tính đơn giảnToán tử so sánh7Nhập xuất cơ bản
Hàm in raNội suy chuỗiĐầu vào từ dòngChuyển đổi kiểu dữ liệuÔn tập đến 120Ôn tập đúng hay sai3Giá trị tùy chọn
Giá trị tùy chọn là gìMở gói bằng if letGuard letToán tử gộp nilÔn tập: mở gói an toàn6Ra quyết định
Câu lệnh ifIf và elseÔn tập: máy tính đơn giảnCâu lệnh switchSwitch với khoảng giá trị9Vòng lặp
Vòng lặp for-inVòng lặp whileVòng lặp repeat-whileBreakContinueÔn tập: giai thừaDải giá trị trong vòng lặpVòng lặp lồng nhauÔn tập: đầu vào động12Kiến thức cơ bản về mảng
Khai báo mảngTruy cập phần tửChỉnh sửa mảngPhương thức của mảngÔn tập: Danh sách sản phẩmÔn tập: Mảng đảo ngượcTuple15Trình theo dõi chi tiêu hằng ngày
Tổng quan về dự ánThoát chương trìnhTự luyện tập: Playground Swift