Extraire la partie décimale d'un nombre
Bonjour,
J'ai une question dont j'imagine la réponse comme assez simple, mais je n'ai pas réussi à la trouver pour l'instant...
J'ai un double qui contient la valeur 2,3.
J'ai besoin de récupérer sous forme d'entier (long, int) la partie décimale c'est à dire 3.
J'ai essayé "bêtement" de la façon suivante :
Code:
1 2 3 4
|
double nbAVirgule = 2.3;
long partieEntiere = (long)nbAVirgule;
long partieDecimale = nbAVirgule*10 - partieEntiere*10; |
Et bien, partieDecimale = 2 :mouarf:
Alors que j'ai bien partieEntiere = 2.
Je me suis dit que c'est ma conversion en long pour obtenir partieDecimale qui était la cause, donc j'ai testé la chose suivante :
Code:
1 2 3 4 5
|
double nbAVirgule = 2.3;
long partieEntiere = (long)nbAVirgule;
double tmp = nbAVirgule*10 - partieEntiere*10;
long partieDecimale = (long)tmp; |
Vous me direz que ça revient au même... mais ce qui est marrant c'est que tmp est bien égal à 3 8O, partieDecimale restant égale à 2...
Merci de bien vouloir m'éclairer sur la bonne façon de procéder pour isoler sous forme d'entier la partie décimale d'un nombre...