Wie man die Set-Präzision in C++ verwendet
-
Verwenden Sie die
setprecision()
Methode, um die benutzerdefinierte Präzision für Fließkommazahlen festzulegen -
Verwenden Sie
setprecision()
undstd::fixed()
, um die benutzerdefinierte Präzision für Fließkommazahlen festzulegen -
Verwenden Sie
setprecision()
undstd::fixed()
, um Fließkommazahlen auf einen Dezimalpunkt auszurichten
Dieser Artikel wird mehrere Methoden zur Verwendung der setprecision
-Methode in C++ demonstrieren.
Verwenden Sie die setprecision()
Methode, um die benutzerdefinierte Präzision für Fließkommazahlen festzulegen
setprecision()
ist Teil der Input/Output manipulators library <iomanip>
und kann verwendet werden, um die Standardgenauigkeit der Fließkommazahlen zu modifizieren. setprecision()
wird normalerweise in Ausdrücken mit I/O-Streams verwendet.
Das folgende Beispiel zeigt, wie die Genauigkeit von Fließkommazahlen für das cout
-Ausgabestrom-Objekt eingestellt werden kann. Beachten Sie, dass sich setprecision()
auf die ganze Zahl (ganzzahliger Teil und Bruchteil) bezieht und wissenschaftliche Notation verwendet, wenn Zahlen einen größeren Betrag als die angegebene Genauigkeit haben.
#include <iomanip>
#include <iostream>
#include <vector>
using std::cout;
using std::endl;
using std::fixed;
using std::setprecision;
using std::vector;
int main() {
vector<double> d_vec = {123.231, 2.2343, 0.324, 0.012,
26.9491092019, 11013, 92.001112, 0.000000234};
for (auto &i : d_vec) {
cout << setprecision(3) << i << " | ";
}
cout << endl;
return EXIT_SUCCESS;
}
Ausgabe:
123 | 2.23 | 0.324 | 0.012 | 26.9 | 1.1e+04 | 92 | 2.34e-07 |
Verwenden Sie setprecision()
und std::fixed()
, um die benutzerdefinierte Präzision für Fließkommazahlen festzulegen
Alternativ können wir setprecision()
und fixed()
Strommanipulatoren in Verbindung verwenden, um Fließkommawerte mit der gleichen Anzahl von Nachkommastellen zu drucken. Die fixed()
Methode setzt den Bruchteil der Zahl auf eine feste Länge, die standardmäßig 6 Stellen beträgt. Im folgenden Code-Beispiel geben wir in den cout
-Stream aus und rufen beide Manipulatoren auf, bevor die Zahl in die Ausgabe eingefügt wird.
#include <iomanip>
#include <iostream>
#include <vector>
using std::cout;
using std::endl;
using std::fixed;
using std::setprecision;
using std::vector;
int main() {
vector<double> d_vec = {123.231, 2.2343, 0.324, 0.012,
26.9491092019, 11013, 92.001112, 0.000000234};
for (auto &i : d_vec) {
cout << fixed << setprecision(3) << i << " | ";
}
cout << endl;
return EXIT_SUCCESS;
}
Ausgabe:
123.231 | 2.234 | 0.324 | 0.012 | 26.949 | 11013.000 | 92.001 | 0.000 |
Verwenden Sie setprecision()
und std::fixed()
, um Fließkommazahlen auf einen Dezimalpunkt auszurichten
Schließlich können wir die Manipulatoren setw
, right
, setfill
, fixed
und setprecision
kombinieren, um Fließkommazahlen dezimal ausgerichtet auszugeben. Die Methode setw
spezifiziert die Breite des Ausgabestroms mit der Anzahl der als Argument übergebenen Zeichen. setfill
legt ein Zeichen fest, mit dem der ungenutzte Platz aufgefüllt wird, und die right
Methode teilt cout
die Seite mit, auf die der Füllvorgang angewendet wird.
#include <iomanip>
#include <iostream>
#include <vector>
using std::cout;
using std::endl;
using std::fixed;
using std::setprecision;
using std::vector;
int main() {
vector<double> d_vec = {123.231, 2.2343, 0.324, 0.012,
26.9491092019, 11013, 92.001112, 0.000000234};
for (auto &i : d_vec) {
cout << std::setw(10) << std::right << std::setfill(' ') << fixed
<< setprecision(4) << i << endl;
}
cout << endl;
return EXIT_SUCCESS;
}
Ausgabe:
123.2310
2.2343
0.3240
0.0120
26.9491
11013.0000
92.0011
0.0000
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn FacebookVerwandter Artikel - C++ Float
- Einstellen der Präzision von Fließkommazahlen in C++
- Runden von Fließkommazahlen auf 2 Dezimalstellen in C++
- Wie konvertiert man Float nach Int in C++
- Wie man eine Zufallszahl zwischen 0 und 1 in C++ generiert
- Wie konvertiert man Float in String in C++
- Wie druckt man Zahlen mit angegebenen Dezimalpunkten in C++