85 votes

Comment convertir Double en int directement ?

C'est peut-être une question idiote. Je veux me débarrasser de la partie fractionnaire du nombre Double . Mais je ne peux pas faire ça. Il montre l'erreur que les types incompatibles. Que faire?

Double to int conversion en une ligne....s'il vous plaît aider merci

183voto

ymene Points 2252

Si vous devez vraiment utiliser Double au lieu de double, vous pouvez même obtenir la valeur int de Double en appelant :

 Double d = new Double(1.23);
int i = d.intValue();

Sinon, c'est déjà décrit par la réponse de Peter Lawreys.

27voto

gipinani Points 12386

Toutes les autres réponses sont correctes, mais rappelez-vous que si vous lancez double en int, vous perdrez la valeur décimale... donc 2.9 double devient 2 int.

Vous pouvez utiliser la fonction Math.round(double) ou simplement faire :

 (int)(yourDoubleValue + 0.5d)

24voto

Daneos Points 249
double myDb = 12.3;
int myInt = (int) myDb;

Le résultat est : myInt = 12

11voto

Peter Lawrey Points 229686

essayez de lancer la valeur

 double d = 1.2345;
long l = (long) d;

2voto

Usman Points 1038
int average_in_int = ( (Double) Math.ceil( sum/count ) ).intValue();

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