bigsyke Posté(e) le 1 novembre 2015 Posté(e) le 1 novembre 2015 Bonjour à toutes et à tous, Je voulais juste faire partagé un cas que je trouve bizarre. Je fais un lisp ou j'extrais les coordonnées des points d'une polyligne sous forme de liste. Ensuite j'aimerais savoir si le premier point et le dernier sont identique mais lorsque je fais une comparaison avec des valeurs scientifique cela ne fonctionne pas comme vous pouvez le voir le code suivant: Commande: (setq firstpt (car lpt)) (-477785.0 1.05555e+006) Commande: (setq lastpt (car (reverse lpt))) (-477785.0 1.05555e+006) Commande: (= (car firstpt) (car lastpt)) T Commande: (= (cdr firstpt) (cdr lastpt)) nil Commande: (cdr firstpt) (1.05555e+006) Commande: (cdr lastpt) (1.05555e+006) Je me suis alors dit que les valeurs après la virgule n'etait pas identique alors j'ai fait ça: Commande: (rtos (nth 0 (cdr firstpt)) 2 10) "1055553.33314437" Commande: (rtos (nth 0 (cdr lastpt)) 2 10) "1055553.33314437" J'ai regardé sur le forum et je suis tombé sur ce lien Mon lien Doit on toujours jouer du rtos et atof dès qu'on a des valeurs scientifique pour etre sûr que la 25eme valeur apres la virgule soit la meme? Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson
sbosarl Posté(e) le 2 novembre 2015 Posté(e) le 2 novembre 2015 bonjour ,sujet deja vu essais avec (equal a b 0.000001)
bigsyke Posté(e) le 2 novembre 2015 Auteur Posté(e) le 2 novembre 2015 Bonjour, Merci pour ta réponse.Sur le forum j'étais partie sur une mauvaise piste en voulant transformé l’écriture scientifique en décimal. Effectivement si j'étais partie sur le terme "equal" je serai tombé sur ce lien Mon lien Désolé de vous ennuyé avec mes questions Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson
didier Posté(e) le 2 novembre 2015 Posté(e) le 2 novembre 2015 Coucou Il va falloir se calmer sur le nombre de décimales, on est d'accord que la vingt-cinquième est quelque peu, comment dire?, superflue, non ?Surtout quand on utilise des parties entières en millions, il ne reste plus beaucoup de place pour la mantisse. Moralité : il faut toujours donner une plage de valeur pour les égalités en informatique. J'ai montré les erreurs d'opérations avec des entiers et (Gile) l'a expliqué. Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant