C++-এ ফ্লোটিং পয়েন্ট সংখ্যার আকার সাধারণত ৪ বাইট (float) বা ৮ বাইট (double) হয়। এ কারণে এটি সীমিত দশমিক স্থান পর্যন্ত শুধুমাত্র যাদু করতে পারে। উদাহরণস্বরূপ, ১/৩ = ০.৩৩৩৩৩৩... অনন্ত পর্যন্ত চলতে থাকে। কিন্তু যখন আমরা এটি একটি ফ্লোটিং টাইপ ভেরিয়েবলে সংরক্ষণ করি, তবে এটি কিছু значащий অঙ্ক (significant digits) সংরক্ষণ করে। ডিফল্টভাবে প্রিসিশন ৬ থাকে। তাই সাধারণত C++-এ ফ্লোটিং পয়েন্ট সংখ্যা ৬ দশমিক স্থান পর্যন্ত প্রদর্শন করে।
প্রিসিশন পরিবর্তন করা
আমরা setprecision ব্যবহার করে প্রিসিশনের আকার পরিবর্তন করতে পারি। এটি <iomanip> হেডার ফাইলে সংজ্ঞায়িত। নিচের উদাহরণটি বিষয়টি স্পষ্ট করবে।
উদাহরণ কোড
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double x = 2.3654789;
cout << "3 দশমিক স্থান পর্যন্ত প্রিন্ট: " << setprecision(3) << x << endl;
cout << "2 দশমিক স্থান পর্যন্ত প্রিন্ট: " << setprecision(2) << x << endl;
cout << "7 দশমিক স্থান পর্যন্ত প্রিন্ট: " << setprecision(7) << x << endl;
return 0;
}
আউটপুট
3 দশমিক স্থান পর্যন্ত প্রিন্ট: 2.365 2 দশমিক স্থান পর্যন্ত প্রিন্ট: 2.37 7 দশমিক স্থান পর্যন্ত প্রিন্ট: 2.3654789
দ্রষ্টব্য: setprecision এর মাধ্যমে আউটপুটে মোট কতগুলো значащий অঙ্ক দেখাবে তা নিয়ন্ত্রণ করা যায়। তবে এটি সংখ্যার আসল মান পরিবর্তন করে না, শুধু প্রদর্শন নিয়ন্ত্রণ করে।