Java Flotter à Long Transtypage
Quelqu'un peut me dire ce que je fais mal ici. Je suis en mesure de transtypage y en long, mais les mêmes ne fonctionne pas pour x/y.
class Test {
long convert(int x, float y) {
//return (long) x/y; //cannot convert from float to long
return (long)y;
}
}
c'est un double de la stackoverflow.com/questions/1655120/...
OriginalL'auteur ncst | 2013-07-09
Vous devez vous connecter pour publier un commentaire.
La seule question ici est de savoir comment les choses sont entre parenthèses. Vous seriez bien si vous avez écrit
Quand vous avez écrit
(long) x /y
, qui a été considéré comme((long) x) /y
, qui est unfloat
selon les règles de typage de Java.OriginalL'auteur Louis Wasserman
Ici
Vous êtes casting
x
commelong
mais l'expression entière est encorefloat
en raison dey
et c'est pourquoi, lorsque vous essayez de le retourner , il indique une erreur. C'est même commereturn ((long)x/y);
Mieux :
OriginalL'auteur NINCOMPOOP