作者baoo (孤独的强者之路)
看板Cad_Cae
标题[问题] AUTOLISP 数字加总的问题
时间Wed Oct 17 11:33:58 2012
手上有一个AUTOLISP的指令,是可以将图面上的数字加总起来
可是加总後的数值如果位数较多,就会变不正常
比如两组数字
6707398.3
3119903.05
加起来之後显示会变成 9.8273e+006
请问有没有办法修改lisp的内容让数字完整显示??
lisp的内容如下
***********************************
(defun c:TJJ ()
(vl-load-com)
(setvar "osmode" 0)
(princ "\n请选择图面上的数字:")
(setq textobj (SSGET))
(setq dimlength (sslength textobj))
(SETQ NUM 0)
(setq addnum 0)
(WHILE (< NUM DIMLENGTH)
(setq ent (ssname textobj num))
(setq ent (vlax-ename->vla-object ent))
(setq objtype (vlax-get ent 'ObjectName))
(if (OR (= objtype "AcDbMText") (= objtype "AcDbText"))
(PROGN
(setq val1 (vlax-get ent 'Textstring))
(setq val1 (atof val1))
(setq addnum (+ addnum val1))
)
)
(setq num (+ num 1))
)
(princ "\n数字总和为: ")
(princ addnum)
(PRINC)
; (dos_clipboard addnum)
)
*************************************
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.248.254.85