dpaulku 发表于 2022-7-5 22:21:11

将舍入d的Lisp例程

这是一个令人尴尬的问题,但是否有一个lisp例程在放置文本后将小数点四舍五入?这与单位设置无关;这将只是编辑文件中已有的哑文本元素。我不写代码,但我想象一个文本字符串可以计算数字、小数点和后面的一些字符。如果不能四舍五入,我甚至乐意截断最后一个/额外的字符。
我错误地从一个POS(软件)中导出了大量数字数据,数字中有三个四舍五入点。我只需要/想要两个,这样我的船员就不会认为我是****保留者。
有希望吗?
 
提前感谢

alanjt 发表于 2022-7-5 22:25:19

(defun c:R2D2 (/ ss)
(if (setq ss (ssget "_:L" '((0 . "TEXT"))))
   ((lambda (i / e l)
      (while (setq e (ssname ss (setq i (1+ i))))
      (setq l (entget e))
      (entmod (subst (cons 1 (rtos (atof (cdr (assoc 1 l))) (getvar 'lunits) 2)) (assoc 1 l) l))
      )
    )
   -1
   )
)
(princ)
)

dpaulku 发表于 2022-7-5 22:28:05

好的,所以这并不难。我该把钱寄到哪里?
 
非常感谢,你刚刚救了我一个早上!
 
xoxo
 
...哎呀,可能说得太早了。这在每次拾取的基础上都很有效,但如果我大规模地按窗口选择,则会出现不可预测的结果。
 
示例:(选择所有单独的文本实体作为一个集合)
CL标高:1278.141接地标高:1277.952(LT)1267.800
 
产量:
0.00   1278.14   0.00   1277.95   0.00    1267.80   
 
也许区分字母和数字更难?

Lee Mac 发表于 2022-7-5 22:31:50

:lol:

alanjt 发表于 2022-7-5 22:36:13

改天吧。不客气。
 
 
英雄联盟
RoundToDecimalsofTwo
这太完美了。

dpaulku 发表于 2022-7-5 22:39:25

查看我编辑的xoxo帖子

alanjt 发表于 2022-7-5 22:42:01

啊,你没告诉我文字不仅仅是一个数字。

Lee Mac 发表于 2022-7-5 22:45:22

与Alan的代码没有太大不同,符合主题lol
 

(defun c:C3PO ( / ss )

(if (setq ss (ssget "_:L" '((0 . "TEXT"))))
   (
   (lambda ( i / e el )
       (while (setq e (ssname ss (setq i (1+ i))))
         (if (distof (cdr (assoc 1 (setq el (entget e)))))
         (entupd
             (cdr
               (assoc -1
               (entmod
                   (subst
                     (cons 1
                     (rtos
                         (atof
                           (cdr
                           (assoc 1 el)
                           )
                         )
                         (getvar 'LUNITS)
                         2
                     )
                     )
                     (assoc 1 el)
                     el
                   )
               )
               )
             )
         )
         )
       )
   )
   -1
   )
)
(princ)
)
                              

alanjt 发表于 2022-7-5 22:48:41

 
用distof检查字符串是个好主意。

Lee Mac 发表于 2022-7-5 22:51:32

 
谢谢,伙计
页: [1] 2
查看完整版本: 将舍入d的Lisp例程