PHILPHIL Posté(e) le 31 juillet 2019 Posté(e) le 31 juillet 2019 Hello j'ai une liste "listepropriete" avec 4 élémentset je cherche a la trier suivant le 4ieme puis le 3ieme puis le 2 ieme ce bout de lisp devrait le faire normalement (setq listepropriete2 (vl-sort listepropriete '(lambda (a B) (if (= (cadddr a) (cadddr B)) (if (= (caddr a) (caddr B)) (< (cadr a) (cadr B)) (< (caddr a) (caddr B)) ) (< (cadddr a) (cadddr B)) ) ) ) ) un bout de la liste "listepropriete2" hors je constate que vers la ligne 66 et au de la le trie ne semble plus etre bonca revient a 27.0 (depuis quand 27.0 est plus grand que 293.0 ?) la ligne 66 a 71 devrait etre apres la ligne 5ca trie pas a 8 chiffres ( que l'on ne voit pas en fait ) apres la virgule quand meme ? [0] ("3E6102" "D" 27.0 37.2)[1] ("3E611A" "D" 27.0 37.2)[2] ("4847BD" "D" 27.0 37.2)..[5] ("484805" "D" 27.0 37.2)[6] ("3E5AF0" "B" 112.5 37.2)[7] ("48499D" "B" 112.5 37.2)[8] ("4849B5" "B" 112.5 37.2)[9] ("1866C" "B" 112.5 37.2)[10] ("48B3A1" "B" 112.5 37.2)..[14] ("484D15" "D" 112.5 37.2)[15] ("17A66" "D" 112.5 37.2)...[22] ("1757F8" "B" 124.0 37.2)[23] ("3E5F52" "D" 124.0 37.2)[24] ("3E5958" "A" 125.5 37.2)..[29] ("484CE5" "A" 125.5 37.2)[30] ("17B08" "A" 125.5 37.2)[31] ("18528" "A" 125.5 37.2)[32] ("48B401" "A" 125.5 37.2)..[41] ("3E5700" "B" 267.0 37.2)[42] ("48517D" "B" 267.0 37.2)[43] ("485195" "B" 267.0 37.2)[44] ("16A94" "B" 267.0 37.2)[45] ("48BB81" "B" 267.0 37.2)..[51] ("3E58E0" "B" 269.0 37.2)[52] ("3E5EAA" "B" 269.0 37.2)..[57] ("4850BD" "B" 269.0 37.2)[58] ("4850D5" "B" 269.0 37.2)[59] ("16D1C" "B" 269.0 37.2)[60] ("1773C" "B" 269.0 37.2)..[64] ("48BAD9" "B" 269.0 37.2)[65] ("3E5520" "B" 293.0 37.2)[66] ("188F39" "D" 27.0 37.2)[67] ("188F51" "D" 27.0 37.2)[68] ("48B1C1" "D" 27.0 37.2)[69] ("48B1D9" "D" 27.0 37.2)[70] ("48B1F1" "D" 27.0 37.2)[71] ("48B209" "D" 27.0 37.2)[72] ("174BD0" "B" 114.5 37.2)[73] ("4665C7" "B" 114.5 37.2) Phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
(gile) Posté(e) le 31 juillet 2019 Posté(e) le 31 juillet 2019 ca trie pas a 8 chiffres ( que l'on ne voit pas en fait ) apres la virgule quand meme ? Bien sûr que oui. On comapare les nombre réels en utilisant tous les chiffres significatifs (environ 15 sans compter les 0 au début ou à la fin).Essaye:(< 37.20000000000002 37.20000000000001) (< 37.20000000000002 37.20000000000003)Si tu veux comparer des nombre arrondis, il faut les arrondir dans les comparaisons de la fonction de tri. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
PHILPHIL Posté(e) le 31 juillet 2019 Auteur Posté(e) le 31 juillet 2019 hello Gile merci oui j'ai bien un parametre avec LONGUEUR : 37.20000000000001 plutot que d'arrondir dans la fonction de tri, j'ai arrondi les données en créant la liste Phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
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