====== Ausgabeformatierung von double bzw. float ====== In C++ gibt es mehrere Möglichkeiten, die Formatierung von Ausgaben mit cout zu steuern. Hier sind einige wichtige Formatierungsmanipulatoren, die häufig verwendet werden: === 1. fixed und scientific === * **fixed**: Stellt Fließkommazahlen im festen Dezimalformat dar. * **scientific**: Stellt Fließkommazahlen im wissenschaftlichen Format dar (z.B. 1.23e+02). === 2. setprecision(int n) === * Legt die Anzahl der Dezimalstellen fest, die für Fließkommazahlen angezeigt werden. Kombiniert mit fixed, um die Anzahl der Dezimalstellen im festen Dezimalformat festzulegen. === 3. setw(int n) === * Legt die Breite des nächsten Ausgabewertes fest. Dies ist nützlich für die Ausrichtung von Spalten. === 4. setfill(char c) === * Legt das Zeichen fest, das zum Auffüllen der Breite verwendet wird, wenn die angegebene Breite (setw) größer als die tatsächliche Länge des Wertes ist. Zum Beispiel setfill(0) füllt mit Nullen. === 5. boolalpha und noboolalpha === * **boolalpha**: Gibt true und false für bool-Werte aus. * **noboolalpha**: Gibt 1 und 0 für bool-Werte aus (Standardverhalten). === Beispiel === Hier ist ein Beispiel, das einige dieser Formatierungsoptionen verwendet. #include #include // für die Formatierungsmanipulatoren using namespace std; int main() { double number = 123.456; // Standardausgabe cout << "Standardausgabe: " << number << endl; // Feste Punktdarstellung mit 2 Dezimalstellen cout << fixed << setprecision(2); cout << "Feste Punktdarstellung: " << number << endl; // Wissenschaftliche Darstellung cout << scientific << setprecision(2); cout << "Wissenschaftliche Darstellung: " << number << endl; // Breitenformatierung cout << setw(10) << fixed << setprecision(2) << number << endl; // Auffüllzeichen cout << setfill('0') << setw(10) << fixed << setprecision(2) << number << endl; // Bool-Ausgabe bool flag = true; cout << boolalpha << "Bool-Wert: " << flag << endl; cout << noboolalpha << "Bool-Wert: " << flag << endl; return 0; } {{:inf:progc:08:pasted:20241104-184451.png}} === Fazit === Diese Formatierungsmanipulatoren bieten eine breite Palette an Optionen zur Steuerung der Ausgabe in C++. Je nach Anwendungsfall können sie verwendet werden, um die Lesbarkeit und Klarheit der Ausgaben zu verbessern.