C++-Manipulator setprecision Die Funktion wird verwendet, um die Anzahl der Ziffern einer Ausgabestream-Anzeige eines Gleitkommawerts zu steuern.
Dieser Manipulator ist in der Header-Datei deklariert.
Syntax
/*unspecified*/ setprecision (int n);
Parameter
N : neuer Wert für die Dezimalgenauigkeit.
Rückgabewert
Diese Funktion gibt ein Objekt eines nicht angegebenen Typs zurück. Die Setbase-Funktion sollte nur als Stream-Manipulator verwendet werden.
Datenrennen
Das Stream-Objekt, in das es eingefügt oder extrahiert wird, wird geändert und der gleichzeitige Zugriff auf dasselbe Stream-Objekt kann zu Datenwettläufen führen.
Ausnahmen
Das Objekt befindet sich in einem gültigen Zustand, wenn eine Ausnahme ausgelöst wird.
Beispiel 1
Sehen wir uns das einfache Beispiel an, um die Verwendung von setprecision zu demonstrieren:
#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; }
Ausgabe:
3.1416 3.14159 3.14159 3.141590000
Beispiel 2
Sehen wir uns ein weiteres einfaches Beispiel an:
#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; }
Ausgabe:
default precision (6): 3.14159 setprecision(10): 3.141592654 max precision:3.141592653589793239
Beispiel 3
Sehen wir uns ein weiteres einfaches Beispiel an:
#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; }
Ausgabe:
2 1.7 1.67 1.667 1.6667 1.66667