Phương pháp ép kiểu dữ liệu trong C++
Trong lúc viết chương trình với ngôn ngữ lập trình C++, sẽ có lúc bạn cần phải chuyển đổi kiểu dữ liệu của một biến để thuận lợi cho viết xử lí hơn. Bạn đã biết đến phương pháp ép kiểu trong C++ chưa? Cùng tìm hiểu về nó trong bài viết dưới đây của Isinhvien nhé!
Cú pháp ép kiểu dữ liệu trong C++
Trong C++ ta có thể ép kiểu theo 1 trong 2 cú pháp sau:
(Kiểu_dữ_liệu) Tên_biến;
Kiểu_dữ_liệu (Tên_biến);
Cả hai cách trên đều giống như nhau nên các bạn có thể sử dụng bất kì cách nào cũng được hết nhé!
Ví dụ:
double x=7.5; int (x); // Hoặc (int) x
Ép kiểu tường minh trong C++
Ép kiểu tường minh (Explicit type conversion) là việc thực hiện việc gán và chuyển đổi kiểu dữ liệu của biến bằng các câu lệnh hoặc phép gán.
Cú pháp: static_cast <type> (value);
Trong đó:
- static_cast: Toán tử ép kiểu
- type: kiểu dữ liệu.
- value: giá trị biến hoặc biểu thức.
Ví dụ:
double x=7.5; static_cast <int> (x);// ép x từ kiểu double về kiểu int
Các lỗi thường gặp khi ép kiểu trong C++
Ép kiểu sẽ giúp ta đưa kiểu dữ liệu của biến về kiểu dữ liệu mong muốn giúp cho việc xử lí với nó dễ dàng và hiệu quả hơn. Tuy nhiên, cần lưu ý một số lỗi thường gặp khi ép kiểu trong C++ dưới đây để tránh sai xót khi ép kiểu nhé!
- Lỗi kết quả (output) khi ép kiểu từ một kiểu dữ liệu lớn hơn sang kiểu dữ liệu nhỏ hơn.
- Kết quả bị sai lệch khi ép kiểu từ một kiểu số chấm động.
- Ép kiểu một biến từ số thực chấm động sang số nguyên sẽ làm mất đi phần thập thân dẫn đến sai số không mong muốn.
Ví dụ về ép kiểu trong C++
Ví dụ nhập váo 2 số nguyên x,y và in ra kết quả của phép chia x/y.
#include<iostream> using namespace std; int main() { int x,y; cout << "Nhap x: "; cin >> x; cout << "Nhap y: "; cin >> y; cout << double(x)/y; // Ép biến x về kiểu double rồi chia cho y return 0; }
Kết quả thực thi:
Nhap x: 7
Nhap y: 5
1.4
Ép kiểu từ int sang string
Để ép kiểu từ int sang string thì ta không thể dùng các phương pháp trên được. Vậy phải làm thế nào để chuyển từ int sang string?
Rất đơn giản, để ép kiểu từ int sang string, ta sẽ sử dụng thư viện sstream trong c++. Phương pháp được thực hiện cụ thể như sau:
#include <iostream> #include <sstream> #include <string> using namespace std; int main () { int x = 752002; string str; ostringstream convert; convert << x; str = convert.str(); cout << str; return 0; }
Kết quả:
752002
Hy vọng sau bài viết này sẽ giúp các bạn hiểu rõ hơn về phương pháp ép kiểu dữ liệu C++! Nếu thấy bài viết này của Isinhvien hay và bổ ích thì hãy chia sẻ nó đến với bạn bè của mình để ủng hộ cho Isinhvien và giúp Isinhvien ngày càng phát triển hơn nhé! Chúc các bạn thành công!