In C++ erfordert die Beibehaltung mehrerer Dezimalstellen normalerweise die Formatierung der Ausgabe. Dies kann durch die Verwendung von std::setprecision und std::fixed aus der I/O-Streams-Bibliothek erreicht werden. Sie können std::cout und E/A-Stream-Formatierung, std::stringstream, std::round oder std::floor/std::ceil zum Runden verwenden und die printf-Funktion im C-Stil verwenden.
In C++ erfordert die Beibehaltung mehrerer Dezimalstellen normalerweise die Formatierung der Ausgabe, was durch die Verwendung von std::setprecision und std::fixed in der I/O-Stream-Bibliothek erreicht werden kann. Im Folgenden sind einige Methoden aufgeführt, um die Dezimalstellen beizubehalten:
1. Verwenden Sie std::cout und die I/O-Stream-Formatierung.
Sie können std::cout mit std::fixed und std::setprecision verwenden Legen Sie das Ausgabeformat fest.
cpp
#include <iostream> #include <iomanip> // 包含 setprecision 和 fixed int main() { double value = 3.141592653589793; std::cout << std::fixed << std::setprecision(2) << value << std::endl; // 输出: 3.14 return 0; }
In diesem Beispiel stellt std::fixed sicher, dass die Festkommaschreibweise verwendet wird, während std::setprecision(2) die Anzahl der Nachkommastellen auf 2 setzt .
2, Verwenden Sie std::stringstream
Wenn Sie die formatierte Zeichenfolge in einer Variablen speichern müssen, anstatt sie direkt an die Konsole auszugeben, können Sie std::stringstream verwenden.
cpp
#include <sstream> #include <iomanip> #include <string> int main() { double value = 3.141592653589793; std::stringstream ss; ss << std::fixed << std::setprecision(2) << value; std::string formatted_value = ss.str(); // formatted_value 现在包含 "3.14" return 0; }
3. Verwenden Sie std::round oder std::floor/std::ceil zum Runden
Wenn Sie auf eine bestimmte Anzahl von Dezimalstellen runden möchten, Sie können die Funktion std::round verwenden. Bitte beachten Sie, dass std::round eine Gleitkommazahl multipliziert mit einer Zehnerpotenz als Argument akzeptiert, Sie müssen also entsprechend der Anzahl der benötigten Dezimalstellen rechnen.
cpp
#include <cmath> // 包含 round 函数 #include <iostream> int main() { double value = 3.141592653589793; double rounded_value = std::round(value * 100.0) / 100.0; // 四舍五入到小数点后两位 std::cout << rounded_value << std::endl; // 输出: 3.14 return 0; }
Wenn Sie auf eine bestimmte Anzahl von Dezimalstellen abrunden oder aufrunden möchten, können Sie die Funktion std::floor oder std::ceil in Kombination mit der entsprechenden Multiplikation verwenden Betrieb.
4. Verwenden Sie eine im C-Stil formatierte Ausgabe
Obwohl C++ die Verwendung von E/A-Streams zur Formatierung empfiehlt, können Sie auch die printf-Funktion im C-Stil verwenden.
cpp
#include <cstdio> int main() { double value = 3.141592653589793; printf("%.2f\n", value); // 输出: 3.14 return 0; }
In printf bedeutet %.2f die Ausgabe einer Gleitkommazahl mit zwei Dezimalstellen.
Diese Methoden können verwendet werden, um die Anzahl der Dezimalstellen in C++ beizubehalten. Für welche Methode Sie sich entscheiden, hängt von Ihren spezifischen Bedürfnissen und dem von Ihnen bevorzugten Programmierstil ab.
Das obige ist der detaillierte Inhalt vonSo behalten Sie die Anzahl der Dezimalstellen in C++ bei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!