Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erreicht man mit std::ostream eine präzise Gleitkommaformatierung?

Wie erreicht man mit std::ostream eine präzise Gleitkommaformatierung?

Susan Sarandon
Susan SarandonOriginal
2024-10-28 18:03:29945Durchsuche

How to Achieve Precise Floating-Point Formatting with std::ostream?

Formatierte Ausgabe von Gleitkommawerten mit std::ostream

Frage:

Wie kann ich mit std::ostream eine präzise Kontrolle über die Formatierung von Gleitkommawerten erreichen, ähnlich der unten gezeigten printf_s-Funktion?

<code class="cpp">printf_s("%11.6lf", my_double); // Prints " 42.000000"</code>

Antwort:

Um Gleitkommawerte mit std::cout zu formatieren, verwenden Sie Stream-Manipulatoren. Der folgende Code erzielt die gewünschte Ausgabe:

<code class="cpp">std::cout << std::fixed << std::setw(11) << std::setprecision(6) << my_double;</code>

Erläuterung:

  • std::fixed: Gibt an, dass der Wert sein soll mit einer festen Anzahl von Dezimalstellen formatiert werden.
  • std::setw(11): Definiert die minimale Feldbreite, bis zu der der Wert mit Leerzeichen aufgefüllt wird.
  • std::setprecision(6): Legt die Anzahl der anzuzeigenden Dezimalstellen fest.
  • std::setfill('0'): (Optional) Füllt Leerzeichen mit dem angegebenen Zeichen (in diesem Fall „0“).

Zusätzliche Ressourcen:

Eine umfassende Dokumentation zur std::ostream-Formatierung finden Sie unter zu den folgenden Ressourcen:

  • [std::ostream formatting](https://en.cppreference.com/w/cpp/io/manipulators) auf cppreference.com
  • [std::ostream](https://www.learncpp.com/cpp-tutorial/formatted-output-with-io-manipulators/) auf learncpp.com

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

Stellungnahme:
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