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 Ruby của Coddy. Bài học 31 trên 88.
Khi đọc đầu vào bằng gets, Ruby luôn trả về một chuỗi, ngay cả khi người dùng nhập một số. Điều này gây ra vấn đề khi bạn cần thực hiện các phép tính.
age = gets.chomp
puts age + 5Đoạn code này sẽ gây ra lỗi vì bạn không thể cộng một số với một chuỗi. Để sửa lỗi này, bạn cần chuyển chuỗi thành số bằng .to_i (thành số nguyên) hoặc .to_f (thành số thực):
age = gets.chomp.to_i
puts age + 5Bây giờ, nếu người dùng nhập "20", đầu ra sẽ là 25. Dùng .to_f khi bạn cần số thập phân:
price = gets.chomp.to_f
puts price * 1.1Bạn cũng có thể chuyển số trở lại thành chuỗi bằng .to_s. Cách này hữu ích khi bạn cần kết hợp số với văn bản mà không dùng nội suy chuỗi:
count = 42
puts "Count: " + count.to_sThử thách
DễĐọc hai số từ đầu vào của người dùng. Đầu vào thứ nhất là số nguyên, đầu vào thứ hai là số thập phân.
Tính và in ra các kết quả sau, mỗi kết quả trên một dòng riêng:
- Tổng của hai số
- Tích của hai số (phép nhân)
Hãy chuyển đổi từng đầu vào sang kiểu số phù hợp trước khi tính toán.
Ví dụ, nếu đầu vào là 5 và 2.5, đầu ra sẽ là:
7.5
12.5Tự làm thử
# Đọc đầu vào
integer_num = gets.chomp.to_i
float_num = gets.chomp.to_f
# TODO: Viết code bên dưới để tính tổng và tích
# Xuất kết quả (in tổng và tích trên hai dòng riêng)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
4Toán tử phần 2
Toán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giảnToán tử logic phần 3Toán tử logic phần 42Biến và kiểu dữ liệu
Số và biếnKiểu dữ liệu chuỗiKiểu dữ liệu BooleanKiểu dữ liệu SymbolKiểm tra kiểu dữ liệuQuy ước đặt tênÔn tập: tạo biến8Vòng lặp
Vòng lặp for với khoảng giá trịVòng lặp whileThoátTiếp tụcÔn tập: giai thừaVòng lặp timesVòng lặp untilVòng lặp lồng nhauÔn tập: đầu vào động3Toán tử phần 1
Toán tử số họcToán tử moduloPhép tính số học rút gọnÔn tập: Toán cơ bảnToán tử so sánh6Nhập xuất cơ bản
In ra bằng putsIn ra bằng print và pIn ra bằng biếnNhập dữ liệu bằng getsPhương thức chompChuyển đổi kiểu dữ liệuÔn tập: Tính tuổiÔn tập: Đúng hay sai9Phương thức
Định nghĩa phương thứcTham số phương thứcGiá trị trả vềÔn tập: phương thức SigmaÔn tập: phương thức xác thựcGiá trị tham số mặc định15Theo dõi chi tiêu hằng ngày
Tổng quan dự ánThoát chương trìnhTự luyện tập: Trình biên dịch Ruby online