Archiv verlassen und diese Seite im Standarddesign anzeigen : double = (int/int);... und es gibt doch kein double
Hallo ich wollte gerne folgende Rechnung in meine c++ programm laufen lassen:
int position = 758400;
double distance;
double = position/32000;
cout<<" position "<<position<<" distance "<<distance<<endl;
printf( " %f \n",position);
Ausgabe:
position 758400 distance 23
23.00000
(23 statt 23,7 ??? )
:confused: :confused:
int geteilt durch int ergibt int !!!
Schreibe statt 32000 einfach 32000.0
Dann klappt's.
ganz faule können die 0 auch weglassen:
double x = i / 32000.;
ganz faule können die 0 auch weglassen:
double x = i / 32000.;
Noch ne Möglichkeit wäre:
double x = i / 32000f;
oder falls man 2 variablen hat:
double x = (double)i / j;
bzw:
double x = i / (double)j;
RapidMax
21-05-2006, 00:58
Noch ne Möglichkeit wäre:
double x = i / 32000f;
oder falls man 2 variablen hat:
double x = (double)i / j;
bzw:
double x = i / (double)j;
Diese Varianten sind IMHO vorzuziehen, da der Code dadurch klarer wird. Der "faule" Punkt wird schnell übersehen, während ein Cast oder ein "f" die Situation klar zeigt.
Gruss, Andy
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.