Heim > Artikel > Backend-Entwicklung > Wie erreicht man mit std::ostream eine präzise Formatierung wie 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>
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>
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!