double eine Division zuweisen



  • Ich nochmal, wieso ergibt:

    double d = 3/2;
    

    1.0 ?



  • Weil die beiden Zahlen 3 und 2 als Integer ausgewertet werden.
    Damit ist diese Division also eine Integer-Division.
    3/2 würde normalerweise halt 1,5 ergeben ... 1,5 ist aber kein Integer ... es wird die 0,5 abgeschnitten. => 1 ist das Ergebnis.
    Wenn diese 1 nun einer double Variable zugewiesen wird, wird die Integer 1 zu einer double 1.0.



  • P.S.:
    Wenn du also das "richtige" Ergebnis haben willst ... die 1,5 ... dann musst du dafür sorgen, dass der Compiler erkennt, dass mind. eine von den Zahlen, als double erkannt wird.

    z.B.

    double d = 3.0 / 2;
    

    oder auch

    double d = (double)3 / 2;
    

Log in to reply