Aller au contenu

comparaison de valeur


Messages recommandés

Posté(e)

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

Posté(e)

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

Posté(e)

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

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité