Ở đây chúng ta sẽ thấy ba chức năng. Các hàm này là Rint (), rintf () và rintl (). Các hàm này được sử dụng để chuyển đổi các giá trị dấu phẩy động thành định dạng làm tròn.
Hàm rint ()
Hàm này được sử dụng để làm tròn giá trị dấu phẩy động thành số nguyên. Cú pháp như dưới đây. Nếu kết quả nằm ngoài kiểu trả về, lỗi miền có thể xảy ra. Khi đối số bằng 0 hoặc vô cùng, thì đối số sẽ trả về không được sửa đổi
float rint(float argument) double rint(double argument) long double rint(long double argument)
Ví dụ
#include <cmath> #include <iostream> using namespace std; main() { double a, b, x, y; x = 53.26; y = 53.86; a = rint(x); b = rint(y); cout << "The value of a: " << a << endl; cout << "The value of b: " << b; }
Đầu ra
The value of a: 53 The value of b: 54
Hàm rintf ()
Điều này cũng giống như rint, nhưng sự khác biệt duy nhất ở đây là tất cả các tham số và kiểu trả về đều là kiểu float. Trong ví dụ này, chúng tôi sẽ sử dụng phương thức fesetround () để chỉ định loại vòng.
float rintf(float argument)
Ví dụ
#include <cmath> #include <fenv.h> #include <iostream> using namespace std; main() { double a, b, x, y; x = 53.26; y = 53.86; fesetround(FE_UPWARD); a = rintf(x); fesetround(FE_DOWNWARD); b = rintf(y); cout << "The value of a: " << a << endl; cout << "The value of b: " << b; }
Đầu ra
The value of a: 54 The value of b: 53
Hàm rintl ()
Điều này cũng giống như rint, nhưng sự khác biệt duy nhất ở đây là tất cả các tham số và kiểu trả về đều là kiểu dài đôi. Trong ví dụ này, chúng tôi sẽ sử dụng phương thức fesetround () để chỉ định loại vòng.
long double rintl(long double argument)
Ví dụ
#include <cmath> #include <fenv.h> #include <iostream> using namespace std; main() { double a, b, x, y; x = 53547.55555555555; y = 53547.55555555523; fesetround(FE_UPWARD); a = rintl(x); fesetround(FE_DOWNWARD); b = rintl(y); cout << "The value of a: " << a << endl; cout << "The value of b: " << b; }
Đầu ra
The value of a: 53548 The value of b: 53547