[java] System.out.print((1.1)-1); => 0.100009
arno
-
arno -
arno -
Tout est dans le titre!
je debute en java, et mon programe ne marchant pas j'ai identifié mon erreur sur un cacul assez surprenant..
j'ai deux variables stockées dans des doubles id et id1 voila en gros mon probleme:
id=1.1;
id1=(id-1)*10
et quand je cherche a connaitre la valeur de id1 au moment t, le system.out.println me retourne 0.10000000000000009
donc la je seche un peu, est ce que cela viens de la fct print ou du stockage de mes variables?
merci d'avance
je debute en java, et mon programe ne marchant pas j'ai identifié mon erreur sur un cacul assez surprenant..
j'ai deux variables stockées dans des doubles id et id1 voila en gros mon probleme:
id=1.1;
id1=(id-1)*10
et quand je cherche a connaitre la valeur de id1 au moment t, le system.out.println me retourne 0.10000000000000009
donc la je seche un peu, est ce que cela viens de la fct print ou du stockage de mes variables?
merci d'avance
A voir également:
- [java] System.out.print((1.1)-1); => 0.100009
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- 192.168. 1.1 - Guide
- Java apk - Télécharger - Langages
4 réponses
bonjour
C'est tout à fait normal.
Les nombres décimaux n'ont pas, la plupart du temps, de représentation exacte en binaire. Donc ton id = 1.1 ne contient pas exactement 1.1.
C'est tout à fait normal.
Les nombres décimaux n'ont pas, la plupart du temps, de représentation exacte en binaire. Donc ton id = 1.1 ne contient pas exactement 1.1.
et comment resoudre mon probleme car j'ai vraiment besoin que mon calcul me renvoi 1 exactement
et si id=1.12345
il devras me retourner 1.2345
bref decaler vers la gauche en suprimant le premier chiffre
et si id=1.12345
il devras me retourner 1.2345
bref decaler vers la gauche en suprimant le premier chiffre
decaler vers la gauche en suprimant le premier chiffre
C'est du traitement de texte, ça, Quelques fonctions de manipulation de chaine. Pas de maths, donc pas de problème d'erreur de représentation numérique là-dedans
C'est du traitement de texte, ça, Quelques fonctions de manipulation de chaine. Pas de maths, donc pas de problème d'erreur de représentation numérique là-dedans
a vrai dire ce n'est pas exactement ce que je veut faire..
en gros 1,23456 represente un chemin
le premier chiffre corespond a la premiere porte a suivre
la deusieme a la deusieme porte etc..
en fait ce chiffre est associé a un noeud situé dans un arbre qui donne sa position dans l'arbre.
du coup pour recherchez dans l'arbre, je me sert de ce nombre pour retrouver son emplacement, et donc il me faut des valeur exacts :s
je te remerci de l'aide que tu m'apporte le père :)
en gros 1,23456 represente un chemin
le premier chiffre corespond a la premiere porte a suivre
la deusieme a la deusieme porte etc..
en fait ce chiffre est associé a un noeud situé dans un arbre qui donne sa position dans l'arbre.
du coup pour recherchez dans l'arbre, je me sert de ce nombre pour retrouver son emplacement, et donc il me faut des valeur exacts :s
je te remerci de l'aide que tu m'apporte le père :)