Heim > Backend-Entwicklung > C++ > Hauptteil

Wie erreicht man mit std::ostream eine präzise Formatierung wie printf_s?

Linda Hamilton
Freigeben: 2024-10-30 04:30:28
Original
281 Leute haben es durchsucht

How to achieve precise formatting with std::ostream like printf_s?

Präzise Formatierung mit std::ostream

Wie erreicht man eine präzise Formatierung mit std::cout? Betrachten Sie das folgende Beispiel:

<code class="cpp">double my_double = 42.0;
char str[12];
printf_s("%11.6lf", my_double); // Prints " 42.000000"</code>
Nach dem Login kopieren

In diesem Code wird printf_s verwendet, um das Double my_double mit einer bestimmten Genauigkeit und Breite zu formatieren und zu drucken. Die entsprechende Funktionalität in std::ostream kann mithilfe von Stream-Manipulatoren erreicht werden.

Um „42.000000“ mit std::cout auszugeben, wenden Sie diese Manipulatoren nacheinander an:

std:: Fixed: Legt die Festkomma-Notation anstelle der wissenschaftlichen Notation fest.

std::setw(11): Setzt die Breite des Ausgabefelds auf 11 Zeichen.

std::setprecision(6): Gibt die Anzahl der Stellen an, die nach dem Dezimalpunkt angezeigt werden sollen.

Der richtige Code lautet:

<code class="cpp">#include <iomanip>

std::cout << std::fixed << std::setw(11) << std::setprecision(6) << my_double;</code>
Nach dem Login kopieren

Dies Der Ansatz ermöglicht eine präzise Formatierung von Doppelwerten mithilfe von std::ostream, ohne auf Bibliotheken von Drittanbietern oder benutzerdefinierte Zeichenfolgenmanipulationen zurückgreifen zu müssen.

Eine umfassende Referenz zur std::ostream-Formatierung finden Sie in der Dokumentation zur C-Standardbibliothek. insbesondere der Abschnitt über „Stream-Manipulatoren“.

Das obige ist der detaillierte Inhalt vonWie erreicht man mit std::ostream eine präzise Formatierung wie printf_s?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
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!