logo

Ц++ Манипулатор сетпрецисион

Ц++ манипулатор сетпрецисион функција се користи за контролу броја цифара приказа излазног тока вредности са помичним зарезом.

мамта кулкарни

Овај манипулатор је декларисан у датотеци заглавља.

Синтакса

 /*unspecified*/ setprecision (int n); 

Параметар

н : нова вредност за децималну прецизност.

Повратна вредност

Ова функција враћа објекат неодређеног типа. Функцију сетбасе треба користити само као манипулатор тока.

Дата Рацес

Стреам објекат на који је уметнут или екстрахован је модификован и истовремени приступ истом објекту тока може да уведе трке података.

Изузеци

Објекат је у важећем стању, ако је избачен неки изузетак.

Пример 1

Хајде да видимо једноставан пример да демонстрирамо употребу сетпрецисион:

 #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