logo

Přesnost nastavení manipulátoru C++

Přesnost nastavení manipulátoru C++ Funkce se používá k ovládání počtu číslic zobrazení výstupního proudu s plovoucí desetinnou čárkou.

Tento manipulátor je deklarován v záhlaví souboru.

Syntax

 /*unspecified*/ setprecision (int n); 

Parametr

n : nová hodnota pro desetinnou přesnost.

Návratová hodnota

Tato funkce vrací objekt nespecifikovaného typu. Funkce setbase by se měla používat pouze jako manipulátor toku.

Datové závody

Objekt proudu, do kterého je vložen nebo extrahován, je upraven a souběžný přístup ke stejnému objektu proudu může zavádět závody dat.

Výjimky

Objekt je v platném stavu, pokud je vyvolána nějaká výjimka.

Příklad 1

Podívejme se na jednoduchý příklad, který demonstruje použití 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; } 

Výstup:

 3.1416 3.14159 3.14159 3.141590000 

Příklad 2

Podívejme se na další jednoduchý příklad:

 #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; } 

Výstup:

 default precision (6): 3.14159 setprecision(10): 3.141592654 max precision:3.141592653589793239 

Příklad 3

Podívejme se na další jednoduchý příklad:

 #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; } 

Výstup:

 2 1.7 1.67 1.667 1.6667 1.66667