Heim > Backend-Entwicklung > C++ > Wie kann ich die Ausgabe mit führenden Nullen in C formatieren?

Wie kann ich die Ausgabe mit führenden Nullen in C formatieren?

DDD
Freigeben: 2024-12-04 21:44:15
Original
863 Leute haben es durchsucht

How Can I Format Output with Leading Zeros in C  ?

Ausgabe mit führenden Nullen in C formatieren

In C ist die Formatierung der Ausgabe entscheidend, um Daten auf eine bestimmte Art und Weise anzuzeigen. Ein häufiges Szenario besteht darin, führende Nullen zu drucken, ähnlich wie printf dies mit d handhabt. Während die Verwendung von printf eine Option ist, bevorzugen Sie möglicherweise den C-Stream-Ausgabeoperator (<<).

Eine Möglichkeit, führende Nullen zu erreichen, besteht darin, eine formatierte Zeichenfolge mithilfe von sprintf mit Ihrem Ausgabeoperator zu verketten, wie unten gezeigt :

std::cout << "ZIP code: " << sprintf("%05d", zipCode) << std::endl;
Nach dem Login kopieren

Es gibt jedoch eine sauberere Lösung mit IO Manipulatoren:

#include <iomanip>

using namespace std;

cout << setw(5) << setfill('0') << zipCode << endl;

// or without 'using namespace std;'
std::cout << std::setw(5) << std::setfill('0') << zipCode << std::endl;</p>
<p>setw(width) legt die Feldbreite fest, während setfill(char) das Zeichen angibt, mit dem der verbleibende Platz gefüllt wird. In diesem Fall wird „0“ verwendet, um führende Nullen hinzuzufügen.</p>
<p>Beachten Sie, dass diese Manipulatoren den globalen Status des cout-Objekts beeinflussen. Um unbeabsichtigte Auswirkungen bei späteren Verwendungen zu vermeiden, sollten Sie diese durch Zurücksetzen der Flags rückgängig machen.</p>
<p>Wenn Sie eine prägnante Formatierung bevorzugen, sollten Sie die Verwendung der fmt-Bibliothek in Betracht ziehen:</p>
<pre class="brush:php;toolbar:false">cout << fmt::format("{:05d}", zipCode);
Nach dem Login kopieren

C 20 und höher erstellt -in Unterstützung für std::format, und C 23 führt std::print ein und bietet noch praktischere Optionen für die Formatierung Ausgabe.

Für nichtnegative Zahlen wie Postleitzahlen reicht der obige Code aus. Wenn Sie jedoch negative Zahlen verarbeiten müssen, fügen Sie std::internal hinzu, um das Füllzeichen zwischen dem Vorzeichen und der Größe zu platzieren:

cout << internal << setw(5) << setfill('0') << zipCode << endl;
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich die Ausgabe mit führenden Nullen in C formatieren?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage