Heim > Backend-Entwicklung > C++ > Hauptteil

So behalten Sie die Anzahl der Dezimalstellen in C++ bei

小老鼠
Freigeben: 2024-03-25 16:18:33
Original
1609 Leute haben es durchsucht

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.

So behalten Sie die Anzahl der Dezimalstellen in C++ bei

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;  
}
Nach dem Login kopieren

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;  
}
Nach dem Login kopieren

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;  
}
Nach dem Login kopieren

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;  
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!