Division du type 1/x renvoie 0 [Résolu]

Signaler
Messages postés
8
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
19 avril 2009
-
cmonnom
Messages postés
8
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
19 avril 2009
-
Bonjour,

Cette question a déjà été posée dans le forum mais la solution ne semble pas fonctionner pour moi.

Je veux obtenir l'inverse d'un nombre, exemple 2  => 1/2.
Le problème c'est que l'opération 1 / 2  me renvoie un résultat nul au lieu de 0.5.
Un calcul du type 3/2 me renverra 1.5 sans problème.
Il semble que cela se produise uniquement lorsque le dividende est 1.

Je précise que j'utilise uniquement des doubles dans mes variables.

Merci.

6 réponses

Messages postés
110
Date d'inscription
mercredi 28 mars 2007
Statut
Membre
Dernière intervention
28 août 2012
1
Salut,

Il te faut pocéder à un cast implicite pour que tes variables ne soient pas consiérées comme des int.
Genre :

float

myFloat= 1f/2f;

double myDouble =1d/2d;
Là tu auras les bons résultats.

A +,

amundain

<hr width="100%" size="2" />Java bien,merci.

Salut,





int






x = 1/2;
System.out.println(


"x = "

+ x);



// x = 0 et il y a un reste






double



y = 1d/2;
System.out.println(


"y = "

+ y);


// y = 0.5



y = 3/2;
System.out.println(


"y = "

+ y);


// y = 1.0 et un reste



y = 3d/2;
System.out.println(


"y = "

+ y);



// y = 1.5






Cordialement,
...\ Dan /...
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
92
Salut,

Difficile à voir si tu nous montre pas ton code... Il doit traîner une variable Integer quelque part !
______________________________________
DarK Sidious
Messages postés
110
Date d'inscription
mercredi 28 mars 2007
Statut
Membre
Dernière intervention
28 août 2012
1
Désolé pour la mise en page...

<hr width="100%" size="2" />Java bien,merci.
Messages postés
8
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
19 avril 2009

Merci, je n'avais pas essayé le coup du cast implicite.
Je fais un essai dans la soirée et je vous tiens au courant.
Messages postés
8
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
19 avril 2009

Problème résolu!

Merci à vous, le problème venait bien de là!

De plus, il y avait une coquille dans l'algorithme qui renvoyé un résultat faux dans tous les cas...

Merci danimo et amundain!