Ép kiểu phần 2
Thuộc phần Kiến thức nền tảng trong hành trình C++ của Coddy. Bài học 15 trên 74.
Trong C++, ta có thể chuyển đổi số thành chuỗi và ngược lại. Để chuyển đổi một giá trị thành chuỗi, ta có thể dùng hàm (function) std::to_string():
int number = 789;
bool isValid = true;
string text1 = to_string(number); // trở thành "789"
string text2 = isValid ? "true" : "false"; // trở thành "true"Khi chuyển một số thực sang chuỗi bằng to_string(), mặc định kết quả sẽ hiển thị 6 chữ số thập phân, ngay cả khi số ban đầu không có nhiều chữ số thập phân như vậy.
Ví dụ:
double n1 = 789.0;
string text1 = to_string(n1);
// trở thành "789.000000"
double n2 = 789.5;
string text2 = to_string(n2);
// trở thành "789.500000"
double n3 = 789.123;
string text3 = to_string(n3);
// trở thành "789.123000"Để chuyển đổi một chuỗi sang kiểu dữ liệu khác, chúng ta có một số cách:
String to Integer:
string numberText = "123";
int number = stoi(numberText); // trở thành 123Chuỗi thành số thực:
string decimalText = "45.67";
double decimal = stod(decimalText); // trở thành 45.67Lưu ý: Khi chuyển chuỗi thành số, các hàm này đọc nhiều ký tự hợp lệ nhất có thể từ đầu chuỗi. Chúng chỉ báo lỗi nếu chuỗi bắt đầu bằng ký tự không hợp lệ:
string validStart = "42abc";
int number = stoi(validStart); // thành 42 (bỏ qua các chữ cái ở cuối)
string invalidStart = "abc";
int number2 = stoi(invalidStart); // Lệnh này sẽ gây ra lỗiTự làm thử
Bài học này không có thử thách code.
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 C++ online