এখানে আমরা তিনটি ফাংশন দেখব: rint(), rintf() এবং rintl()। এই ফাংশনগুলো ফ্লোটিং-পয়েন্ট মানগুলোকে রাউন্ডেড ফরম্যাটে রূপান্তর করতে ব্যবহৃত হয়।
rint() ফাংশন
এই ফাংশনটি ফ্লোটিং-পয়েন্ট মানকে পূর্ণসংখ্যায় রাউন্ড করতে ব্যবহৃত হয়। সিনট্যাক্স নিচের মতো। যদি ফলাফল রিটার্ন টাইপের বাইরে থাকে, তবে ডোমেইন এরর হতে পারে। আর্গুমেন্ট ০ বা অসীম হলে, এটি অপরিবর্তিত রিটার্ন করে।
float rint(float argument) double rint(double argument) long double rint(long double argument)
উদাহরণ
#include <cmath>
#include <iostream>
using namespace std;
int 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;
}
আউটপুট
The value of a: 53 The value of b: 54
rintf() ফাংশন
এটি rint-এর মতোই, পার্থক্য হলো এখানে সব প্যারামিটার এবং রিটার্ন টাইপ float টাইপ। এই উদাহরণে আমরা fesetround() মেথড ব্যবহার করে রাউন্ড টাইপ নির্দিষ্ট করব।
float rintf(float argument)
উদাহরণ
#include <cmath>
#include <fenv.h>
#include <iostream>
using namespace std;
int 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;
}
আউটপুট
The value of a: 54 The value of b: 53
rintl() ফাংশন
এটি rint-এর মতোই, পার্থক্য হলো এখানে সব প্যারামিটার এবং রিটার্ন টাইপ long double টাইপ। এই উদাহরণটিও fesetround() ব্যবহার করে রাউন্ড টাইপ নির্দিষ্ট করে।
long double rintl(long double argument)
উদাহরণ
#include <cmath>
#include <fenv.h>
#include <iostream>
using namespace std;
int 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;
}
আউটপুট
The value of a: 53548 The value of b: 53547