367 votes

Cast Double à Entier en Java

Un moyen de convertir java.lang.Double en java.lang.Integer ?

Il jette une exception

"java.lang.ClassCastException: java.lang.Double incompatible avec java.lang.Integer"

581voto

anubhava Points 172509

Vous devez explicitement obtenir la valeur int en utilisant la méthode intValue () comme ceci:

 Double d = 5.25;
Integer i = d.intValue(); // i becomes 5
 

Ou

 double d = 5.25;
int i = (int) d;
 

485voto

hvgotcodes Points 55375

A n’est pas un , de sorte que le casting ne fonctionnera pas. Notez la différence entre la **classe** et le primitif. Notez également qu’un est un , alors c’est la méthode, lorsque vous pouvez utiliser pour obtenir une primitive .

40voto

squit Points 131

Je vois trois possibilités. Les deux premiers couper les chiffres, le dernier d'entre eux arrondit au nombre entier plus proche.

23voto

Richard Schwartz Points 6319

Comme ça :

14voto

conflittimat Points 160
double a = 13.34;
int b = (int) a;

System.out.println(b); //prints 13

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X