kuekenMcNugget Geschrieben 18. März 2005 Teilen Geschrieben 18. März 2005 Hi @ all, wenn ich folgendes Programm ausführe wird mir nicht die Zahl 123456.789 ausgegeben, sonder nur 123456. Wie bekomme ich es hin, dass die Ganze Zahl ausgegen wird??? Habe es auch schon mit double ausprobiert, leider ohne Ergebnis. #include <iostream> using namespace std; int main(){ float zahl = 123456.789; cout << "Zahl " << zahl << endl; return 0; } Gruß, Christian Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bubble Geschrieben 19. März 2005 Teilen Geschrieben 19. März 2005 Dein Beispiel gibt nicht 123456 sondern 123457 aus, die Nachkommastellen werden aufgerundet. Dies liegt daran das per Default die Genauigkeit auf 6 Stellen eingestellt ist, also immer nur bis zu 6 Stellen der Zahl (plus eventuellen Exponenten und Vorzeichen) ausgegeben werden. Mit std::setprecision kannst Du die Anzahl dargestellter Stellen verändern. Um dies nutzen zu können, musst Du noch zusätzlich den Header <iomanip> einbinden. Beispiel: #include <iostream> #include <iomanip> int main() { float zahl = 123456.789; std::cout << std::setprecision(10) << "Zahl: " << zahl << std::endl; return 0; } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bmg4ever Geschrieben 19. März 2005 Teilen Geschrieben 19. März 2005 noch viel einfacher könntest du die zahl auch explizit in einen int-wert konvertieren, also casten cout << "Zahl " << (int)zahl << endl; [/PHP] nicht getestet... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bubble Geschrieben 20. März 2005 Teilen Geschrieben 20. März 2005 Dabei würden alle Nachkommastellen verloren gehen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bmg4ever Geschrieben 20. März 2005 Teilen Geschrieben 20. März 2005 aber doch nur für die ausgabe und das war doch das ziel, oder? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nic_power Geschrieben 20. März 2005 Teilen Geschrieben 20. März 2005 Hallo, nein, es sollte ja gerade die fehlenden Kommastellen mit ausgegeben werden. Wenn Du die Zahl konvertierst, dann geht diese Information verloren. Nic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bmg4ever Geschrieben 20. März 2005 Teilen Geschrieben 20. März 2005 achso sorry da hab ich das ganze wohl zu schnell überschlagen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.