C++ Nachkommastellen abschneiden?
Hallo liebe Community, ich habe in C++ ein Programm geschrieben welches von dem Benutzer eine Zahleneingabe abfragt und mit diesen Werten dann weiter rechnet und diese dann ausgibt das ganze soll dann auf 5 Nachkommastellen abgeschnitten werden so weit alles kein Problem, jedoch möchte ich das die Zahlen nicht nur so formatiert werden das sie auf 5 Nachkommastellen abgerundet werden sondern auch das wenn als Ausgabe z.B. dann anstatt 5,6 die Zahl 5,60000 ausgegeben wird. Mir ist jedoch nicht klar wie ich das im Programmcode umsetzen kann das die restlichen Nachkommastellen mit 0en aufgefüllt werden sollen.
Mein bisheriger Code sieht so aus :
#include <iostream>
#include <iomanip>
using namespace std;
void wait()
{
cin.clear();
cin.ignore(cin.rdbuf()->in_avail());
cin.get();
}
int main()
{
cout << endl;
double RZ1, RZ2;
cout << "1. reele Zahl = ? ";
cin >> RZ1;
cout << endl;
cout << "2. reele Zahl = ? ";
cin >> RZ2;
cout << endl;
double Summe = RZ1 + RZ2;
double Differenz = RZ1 - RZ2;
double Produkt = RZ1 * RZ2;
double Quotient = RZ1 / RZ2;
cout << "Summe = " << setprecision(5) << Summe << endl;
cout << "Differenz = " << setprecision(5) << Differenz << endl;
cout << "Produkt = " << setprecision(5) << Produkt << endl;
cout << "Quotient = " << setprecision(5) << Quotient << endl;
int GZ1, GZ2;
wait(); // warten auf Enter
return 0;
}
1 Antwort
![](https://images.gutefrage.net/media/user/surbahar53/1478861575167_nmmslarge__317_41_738_738_116d65088374878b2332a298d555bbfb.jpg?v=1478861577000)
Das Stichwort heisst "fixed", siehe Beispiel
#include <iostream> // std::cout, std::fixed, std::scientific
int main () {
double a = 3.1415926534;
double b = 2006.0;
double c = 1.0e-10;
std::cout.precision(5);
std::cout << "default:\n";
std::cout << a << '\n' << b << '\n' << c << '\n';
std::cout << '\n';
std::cout << "fixed:\n" << std::fixed;
std::cout << a << '\n' << b << '\n' << c << '\n';
std::cout << '\n';
std::cout << "scientific:\n" << std::scientific;
std::cout << a << '\n' << b << '\n' << c << '\n';
return 0;
}
![](https://images.gutefrage.net/media/user/surbahar53/1478861575167_nmmslarge__317_41_738_738_116d65088374878b2332a298d555bbfb.jpg?v=1478861577000)
surbahar53
22.12.2016, 17:07
@VyoZz
Das ist der Output
default:
3.1416
2006
1e-010
fixed:
3.14159
2006.00000
0.00000
scientific:
3.14159e+000
2.00600e+003
1.00000e-010
Also steht das "fixed" für die Ausgabe als standard Kommazahl und das "scientific" für die Ausgabe in wissenschaftlicher Darstellung?