Heim  >  Artikel  >  Backend-Entwicklung  >  Wie zeige ich nachgestellte Nullen mit std::cout.precision() in C an?

Wie zeige ich nachgestellte Nullen mit std::cout.precision() in C an?

DDD
DDDOriginal
2024-11-09 04:41:02943Durchsuche

How to Display Trailing Zeros Using std::cout.precision() in C  ?

Korrekte Verwendung von std::cout.precision() zur Anzeige nachgestellter Nullen

In C ist std::cout.precision() legt die Genauigkeit für Gleitkommazahlen fest. Nachgestellte Nullen werden jedoch nicht automatisch angezeigt. Um dieses Problem zu lösen, ist es wichtig, die richtige Verwendung von std::cout.precision() zu verstehen.

Im angegebenen Code:

#include <iostream>
#include <stdlib.h>
int main() {
  int a = 5;
  int b = 10;
  std::cout.precision(4);
  std::cout << (float)a / (float)b << "\n";
  return 0;
}

Die Genauigkeit ist auf 4 eingestellt, aber die Die Ausgabe beträgt 0,5 statt 0,5000. Dies liegt daran, dass die Divisionsoperation zu einem Gleitkommawert mit doppelter Genauigkeit führt und das Standardformat std::cout keine nachgestellten Nullen enthält.

Um nachgestellte Nullen anzuzeigen, muss der Manipulator std::fixed übergeben werden schimpfen. Dies weist cout an, eine Festkomma-Notation zu verwenden, die abschließende Nullen explizit anzeigt. Der korrigierte Code:

#include <iostream>
#include <stdlib.h>
#include <iomanip>
int main() {
  int a = 5;
  int b = 10;
  std::cout << std::fixed;
  std::cout << std::setprecision(4);
  std::cout << (float)a / (float)b << "\n";
  return 0;
}

Jetzt beträgt die Ausgabe wie erwartet 0,5000. std::setprecision() setzt die Genauigkeit auf 4 und std::fixed stellt sicher, dass nachgestellte Nullen angezeigt werden.

Das obige ist der detaillierte Inhalt vonWie zeige ich nachgestellte Nullen mit std::cout.precision() in C an?. 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