מניפולטור C++ קבע דיוק הפונקציה משמשת לשליטה במספר הספרות של תצוגת זרם פלט של ערך נקודה צפה.
מניפולטור זה מוצהר בקובץ הכותרת.
תחביר
/*unspecified*/ setprecision (int n);
פָּרָמֶטֶר
נ : ערך חדש עבור הדיוק העשרוני.
ערך החזרה
פונקציה זו מחזירה אובייקט מסוג לא מוגדר. יש להשתמש בפונקציית setbase רק כמניפולטור זרם.
מירוצי נתונים
אובייקט הזרם עליו הוא מוכנס או חולץ שונה וגישה במקביל לאותו אובייקט זרם עשויה להכניס מירוצי נתונים.
חריגים
האובייקט נמצא במצב חוקי, אם נזרק חריג כלשהו.
דוגמה 1
בואו נראה את הדוגמה הפשוטה להדגמת השימוש ב-setprecision:
#include // std::cout, std::fixed #include // std::setprecision using namespace std; int main () { double f =3.14159; cout << setprecision(5) << f << ' '; cout << setprecision(9) << f << ' '; cout << fixed; cout << setprecision(5) << f << ' '; cout << setprecision(9) << f << ' '; return 0; }
תְפוּקָה:
3.1416 3.14159 3.14159 3.141590000
דוגמה 2
בוא נראה עוד דוגמה פשוטה:
#include #include #include #include using namespace std; int main() { const long double pi = acos(-1.L); cout << 'default precision (6): ' << pi << ' ' << 'setprecision(10): ' << setprecision(10) << pi << ' ' << 'max precision:' << setprecision(numeric_limits::digits10 + 1) << pi << ' '; return 0; }
תְפוּקָה:
default precision (6): 3.14159 setprecision(10): 3.141592654 max precision:3.141592653589793239
דוגמה 3
בואו נראה עוד דוגמה פשוטה:
#include #include using namespace std; int main (void) { float a,b,c; a = 5; b = 3; c = a/b; cout << setprecision (1) << c << endl; cout << setprecision (2) << c << endl; cout << setprecision (3) << c << endl; cout << setprecision (4) << c << endl; cout << setprecision (5) << c << endl; cout << setprecision (6) << c << endl; return 0; }
תְפוּקָה:
2 1.7 1.67 1.667 1.6667 1.66667