Heim >Backend-Entwicklung >C++ >Wie formatiere ich Gleitkommazahlen mit std::cout?

Wie formatiere ich Gleitkommazahlen mit std::cout?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-30 02:27:291005Durchsuche

How to Format Floating Point Numbers with std::cout?

Gleitkommazahlen mit std::cout formatieren

Diese Frage befasst sich mit den Herausforderungen der Formatierung von Gleitkommazahlen mit std::cout. ein grundlegender Ausgabestrom in C . Der Benutzer äußert seine Frustration über die begrenzten Formatierungsoptionen, die über std::cout verfügbar sind, und erwägt, auf die ausführlichere Funktion sprintf_s zurückzugreifen. Sie suchen nach einer umfassenden Referenz, die die Formatierungsfunktionen für std::ostream konsolidiert.

Antwort:

Glücklicherweise bietet std::cout Stream-Manipulatoren, die flexible Formatierungsoptionen für bieten Gleitkommazahlen. Zu diesen Manipulatoren gehören:

  • std::fixed: Gibt die Festkomma-Notation anstelle der wissenschaftlichen Notation an.
  • std::setw(width): Legt die Feldbreite für die Ausgabe fest. Auffüllen nach links oder rechts mit Leerzeichen.
  • std::setprecision(precision): Steuert die Anzahl der Nachkommastellen.
  • std::setfill(character): Füllt alle Leerstellen auf Leerzeichen innerhalb des Feldes mit dem angegebenen Zeichen.

Beispiel:

Die gewünschte Ausgabe von „ 42.000000“ kann mit folgendem Code erreicht werden:

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

Zusätzliche Hinweise:

  • Der Manipulator std::fixed sorgt dafür, dass die Zahl mit einer festen Anzahl von Dezimalstellen formatiert wird.
  • Die Manipulatoren std::setw und std::setprecision steuern die Feldbreite bzw. -genauigkeit.
  • Der Manipulator std::setfill kann verwendet werden, um die Leerstellen mit Nullen oder jedem anderen gewünschten Zeichen zu füllen.

Das obige ist der detaillierte Inhalt vonWie formatiere ich Gleitkommazahlen mit std::cout?. 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