Sollte 213,3333333...
sein, ist aber 320.0
. Warum?Wie teilt man eine ganze Zahl durch doppelte?
Ich meine: Ich verwende Double, warum bekomme ich Integer?
Sollte 213,3333333...
sein, ist aber 320.0
. Warum?Wie teilt man eine ganze Zahl durch doppelte?
Ich meine: Ich verwende Double, warum bekomme ich Integer?
Sie tun das Casting double
nach der Division, die mit Ganzzahlarithmetik ausgeführt wird. Der einfachste Weg, Gleitkomma-Arithmetik zu zwingen, ist von einem der Operanden macht eine doppelte:
int integ = 320;
System.out.println((double) integ /(3.0/2));
oder wenn die Eingangswerte sind Variablen:
int x = 3;
int y = 2;
System.out.println((double) integ /(1.0*x)/y);
Sie nicht das Ergebnis einer Operation werfen sollte ein Doppel. Erzwinge stattdessen, dass alle Operanden verdoppelt werden. (3/2) sollte sein (3.0/2.0) – JohannisK
Seltsam, dass jemand mit 11.7k Reputation diese Frage stellt. –
'3/2' ist' 1'. '(double) (3/2)' is '(double) 1', was' 1.0' ist. Wenn Sie '1.5' wollen, verwenden Sie '1.5', oder' 3.0/2' – khelwood