LISP程序滿足樓主要求

- (defun c:test()
- (setvar "cmdecho" 0)
- (setvar "dimzin" 0)
- (setq ss (ssget))
- (setq ss (ssget "P" '((0 . "TEXT"))))
- (setq num nil)
- (initget 4)
- (setq num (getint "\n小數位數 <3> :"))
- (if (= num nil)(setq num 3))
-
- (setq j 0)
- (repeat (sslength ss)
- (setq mark 0)
- (setq sname (ssname ss j))
- (setq endata (entget sname))
- (setq ent (assoc 1 endata))
- (setq oldtxt (cdr ent))
- (setq txtlen (strlen oldtxt))
- (setq k 1)
- (repeat txtlen
- (setq lenk (substr oldtxt k 1))
- (setq ascnum (ascii lenk))
- (if (or (and (>= ascnum 65)(<= ascnum 90))
- (and (>= ascnum 97)(<= ascnum 122)))
- (setq mark 1)
- )
- (setq k (+ k 1))
- )
- (if (/= mark 1)
- (progn
- (setq oldtxt1 (atof oldtxt))
- (setq newtxt (rtos oldtxt1 2 num))
- (setq newtxt (cons 1 newtxt))
- (setq endata (subst newtxt ent endata))
- (entmod endata)
- )
- )
- (setq j (+ j 1))
- )
- (prin1)
- )
- (prin1)
|