Komisches Problem mit Gleitkommazahlen
-
Hi,
bei mir werden komischerweise die Gleitkommazahlen nicht berechnet.
Also ist z.B.
double d = 5/10; // oder auch 5/2
gleich 0
Mit
double d = 0.5;
gehts
Hat jemand ne Ahnung woran das liegt?
Thx
-
Mach noch ne implizierte Typumwandlung mit rein dann geht es:
double d = (double)5/10;
-
oder noch schöner
double = 5.0 / 2.0
-
Angel of Darkness schrieb:
Hat jemand ne Ahnung woran das liegt?
Der Compiler löst den Ausdruck 5/10 nach den Regeln der impliziten Typkonversion
aus. Da hier zwei int-Werte die Operanden bilden, ist der Ergebnistyp ebenfalls
int, also 5/10 = 0.Lyrix schrieb:
Mach noch ne implizierte Typumwandlung
Du meintest wohl explizite Typumwandlung
dfssdf schrieb:
double = 5.0 / 2.0
Du meintest wohl
double d = 5.0 / 2.0;
-
*klugscheiß* SCNR:
Nur ein Operand muss ne Gleitkommazahl sein:double d = 5.0/2;
-
GPC schrieb:
*klugscheiß* SCNR:
Nur ein Operand muss ne Gleitkommazahl sein:double d = 5.0/2;
Du meintest wohl
double d = 5/2.0;
*scnr*
-
TactX schrieb:
GPC schrieb:
*klugscheiß* SCNR:
Nur ein Operand muss ne Gleitkommazahl sein:double d = 5.0/2;
Du meintest wohl
double d = 5/2.0;
*scnr*
*g*
na, es geht beides :p