Carboleum Posté(e) le 21 mai 2013 Partager Posté(e) le 21 mai 2013 Bonjour, Ca fait plusieurs années que je cherche (enfin pas tout le temps hein ;-) le moyen d'afficher les zéros après la virgule après un rtos. rtos arrondi la valeur à la décimale déterminée par la variable LUPREC. donc, pour un LUPREC à 2, (rtos 1.1467) -> "1.15" ok, (rtos 1.1) -> "1.1" ok aussi, mais moi je veux "1.10" J'ai pas trouvé de variable qui gère ça. Il est toujours possible de faire un lisp qui ajoute des zéro à la fin de la chaine mais c'est un peu alambiqué. Quelqu'un a-il une solution séduisante ? Meric d'avance Carboléüm, qui dessine aussi à la main -> Carboleum's sketchblog Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick_35 Posté(e) le 21 mai 2013 Partager Posté(e) le 21 mai 2013 Salut (rtos 1.1 2 2) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824 Lien vers le commentaire Partager sur d’autres sites More sharing options...
bonuscad Posté(e) le 21 mai 2013 Partager Posté(e) le 21 mai 2013 Bonjour, Aussi bizarre que cela puisse paraître, la variable de cotation DIMZIN influe sur l'affichage du retour de la fonction lisp (rtos) Si (rtos 1.1 2 2) te renvoie "1.1", c'est que DIMZIN est à 8 ou plus, mets une autre valeur inférieure et le retour sera différent! NB: Cela est évoqué dans l'aide sur DIMZIN Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius Lien vers le commentaire Partager sur d’autres sites More sharing options...
-Olivier- Posté(e) le 21 mai 2013 Partager Posté(e) le 21 mai 2013 Bonjour, Attention toutefois à la variable DIMZIN.Le bit 4 supprime les zéros en la fin du nombre.Le bit 8 supprime le zéro avant la virgule. Avec dimzin à 12 : $ (rtos 0.1 2 2) ".1" OlivierPS : grillé par Bonuscad :D Lien vers le commentaire Partager sur d’autres sites More sharing options...
Carboleum Posté(e) le 21 mai 2013 Auteur Partager Posté(e) le 21 mai 2013 Merci à tous, je vais voir cela dès demain :-) Carboléüm, qui dessine aussi à la main -> Carboleum's sketchblog Lien vers le commentaire Partager sur d’autres sites More sharing options...
denisf Posté(e) le 24 février 2015 Partager Posté(e) le 24 février 2015 Bonjour J'ai aussi cherché... pas trouvé, alors je me suis dépanné avec ce petit lisp: ;Argunents;txt nombre en format texte;n nombre de chiffres après le point(defun AjoutZero (txt n / posdeci nouvtxt) (setq nouvtxt "" posdeci (if (/= nil (vl-string-search "." txt)) (+ (vl-string-search "." txt) 2)) ) (if (null posdeci) (setq nouvtxt (strcat txt ".00")) (progn (setq n (1- (+ posdeci n)) elm 1) (repeat n (setq nouvtxt (if (= (substr txt elm 1) "") (setq nouvtxt (strcat nouvtxt "0")) (strcat nouvtxt (substr txt elm 1))) n (1- n) elm (1+ elm) ) ) ) ) nouvtxt) Lien vers le commentaire Partager sur d’autres sites More sharing options...
VDH-Bruno Posté(e) le 24 février 2015 Partager Posté(e) le 24 février 2015 Bonjour, J'ai aussi cherché... pas trouvé, alors je me suis dépanné avec ce petit lisp: C'est possible également avec rtos, comme précisé dans les messages précédents il suffit de faire attention à la valeur de DIMZIN.. Rapidement pour le principe une variante de ton lisp qui devrait fonctionner, (acceptant un nombre au format chaîne de caractère ou numérique): (defun AjoutZero (nbr n) (if (numberp (setq nbr (distof (vl-princ-to-string nbr) ))) ((lambda (v) (setvar 'dimzin 0) (setq nbr (rtos nbr 2 n)) (setvar 'dimzin v) nbr) (getvar 'dimzin)) ) ) _$ (AjoutZero "5.130" 6) "5.130000" _$ (AjoutZero 5.13 6) "5.130000" _$ (AjoutZero "toto" 6) nil _$ A+ Apprendre => Prendre => Rendre Lien vers le commentaire Partager sur d’autres sites More sharing options...
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