Veröffentlicht 25. Oktober 200816 j 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.
25. Oktober 200816 j Probier das mal: double i = 1/2; cout.precision(4); cout << i; Programmieren in C++: Einführung in ... - Google Buchsuche
25. Oktober 200816 j 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.
25. Oktober 200816 j Autor danke für den tip, hat aber leider nichts gebracht. @bubble: das hab ich auch schon versucht, blieb aber ebenso erfolglos
25. Oktober 200816 j Ich habe noch nie, bei der Variablendeklaration, der Variable das Ergbnis einer Berechnung zugewiesen. Kann es vielleicht daran liegen?
25. Oktober 200816 j @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.
25. Oktober 200816 j 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).
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.