HopelessFrag Geschrieben 25. Oktober 2008 Geschrieben 25. Oktober 2008 Hallo zusammen, ich stehe gerade tierisch auf dem Schlauch. Und zwar möchte ich eine stinknormale Division von zwei Stinknormalen Zahlen durchführen und anschließend ausgeben. double i = 1/2; cout << i; Kann mir einer sagen warum mein Programm mir nur 0 statt 0.5 ausgibt? wenn ich 3/2 rechnen will, wird mir nur 1 ausgegeben. Kann mir jemand sagen woran das liegt?? auch wenn ich die zahlen manuell caste wird mir das gleiche ausgegeben. Ich benutze VS C++ 2008 Express als IDE. Zitieren
lupo49 Geschrieben 25. Oktober 2008 Geschrieben 25. Oktober 2008 Probier das mal: double i = 1/2; cout.precision(4); cout << i; Programmieren in C++: Einführung in ... - Google Buchsuche Zitieren
Bubble Geschrieben 25. Oktober 2008 Geschrieben 25. Oktober 2008 Kann mir einer sagen warum mein Programm mir nur 0 statt 0.5 ausgibt? Weil 1 und 2 Integer-Zahlen sind und die Wandlung in ein double erst nach dem Berechnen des Ergebnisses stattfindet. Schreibe 1.0 / 2.0 (oder 1.0 / 2 oder auch 1 / 2.0) und der double Zahl wird 0.5 zugewiesen. Zitieren
HopelessFrag Geschrieben 25. Oktober 2008 Autor Geschrieben 25. Oktober 2008 danke für den tip, hat aber leider nichts gebracht. @bubble: das hab ich auch schon versucht, blieb aber ebenso erfolglos Zitieren
ivanhoe Geschrieben 25. Oktober 2008 Geschrieben 25. Oktober 2008 Ich habe noch nie, bei der Variablendeklaration, der Variable das Ergbnis einer Berechnung zugewiesen. Kann es vielleicht daran liegen? Zitieren
Klotzkopp Geschrieben 25. Oktober 2008 Geschrieben 25. Oktober 2008 @bubble: das hab ich auch schon versucht, blieb aber ebenso erfolglosDas kann nicht sein. Folgender Code gibt bei mir 0.5 aus: #include <iostream> int main() { double i = 1.0/2.0; std::cout << i; }[/code] Ich habe noch nie, bei der Variablendeklaration, der Variable das Ergbnis einer Berechnung zugewiesen. Kann es vielleicht daran liegen?Das ist eine ganz normale Initialisierung. Zitieren
ivanhoe Geschrieben 25. Oktober 2008 Geschrieben 25. Oktober 2008 Das ist eine ganz normale Initialisierung. Gut zu wissen , hab ich aber echt so noch nicht gesehen (was natürlich nichts zu heißen hat). Zitieren
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.