Chắc hẳn khi mới bắt đầu tập tành với C/C++ ai cũng gặp trường hợp phải ép kiểu int sang float và ngược lại. Vậy bài viết này mình sẽ hướng dẫn các bạn cách ép kiểu nguyên sang kiểu thực trong C/C++.
Ép từ kiểu nguyên sang kiểu thực
Ép kiểu int sang float
Có nhiều trường hợp chúng ta phải ép kiểu từ int sang float như ví dụ dưới đây
Bài toán: Nhập vào hai số nguyên dương a và b. Hãy xuất ra kết quả a/b.
#include<iostream> using namespace std; int main() { int a, b; float kq; cout << "Nhap a: "; cin >> a; cout << "Nhap b: "; cin >> b; if (!b) {// Hoặc if(b==0) cout << "Mau phai khac 0 !"; return 0; } kq = a / b; cout << "Ket qua la: " << kq << endl; return 0; }
Nhap a: 2 Nhap b: 3 Ket qua la: 0
Trong trường hợp trên ta bắt buộc phải ép kiểu int sang float. Cú pháp ép kiểu như sau:
kq = (float)a / (float)b; kq = float(a) / float(b);
Ở trên có hai cách ép kiểu nhưng mình khuyên các bạn nên dùng cách dưới, nhìn dễ hiểu hơn.
Cùng xem lại đoạn code ở trên nhé
#include<iostream> using namespace std; int main() { int a, b; float kq; cout << "Nhap a: "; cin >> a; cout << "Nhap b: "; cin >> b; if (!b) {// Hoặc if(b==0) cout << "Mau phai khac 0 !"; return 0; } //kq = (float)a / (float)b; kq = float(a) / float(b); cout << "Ket qua la: " << kq << endl; return 0; }
Nhap a: 2 Nhap b: 3 Ket qua la: 0.666667
Ép kiểu int sang double
Cách làm cũng tương tự như trên mà thôi.
Ép từ kiểu thực sang kiểu nguyên
Ép kiểu float sang int
Ta có thể ép kiểu dữ liệu như sau:
#include<iostream> using namespace std; int main() { float a = 3.5f; int b = int(a); cout << "Sau khi ep kieu: " << b << endl; return 0; }
Sau khi ep kieu: 3
Lưu ý: Khi ép kiểu từ int sang float thì chỉ nhận được các chữ số trước dấu phẩy mà thôi. Chứ không làm tròn lên nhé.
Ví dụ: int a = float(8.9) thì a sẽ nhận giá trị 8 mà thôi.
Ép kiểu double sang int
Tương tự như ép kểu float sang int.
Kết luận
Như vậy tổng quát ta có hai cú pháp ép kiểu như sau:
bien_1 = (kieu_du_lieu) bien_2; bien_1 = kieu_du_lieu(bien_2) ;
Trong đó bien_1 phải có kiểu dữ liệu là kieu_du_lieu. Và đương nhiên các bạn có thể dùng theo hai cách, nhưng mình vẫn ưu tiên cách dưới hơn.
Bài viết mình đến đây cũng kết thúc. Cám ơn các bạn đã theo dõi !
Để lại một bình luận