wanhongron 发表于 2011-12-15 12:54:37

**数字增值程序,大侠帮忙改成能适应小数

对整数加减有效如2+3变成5,但对小数无效,如3.22加1后变成4.22或3+1.223变成4.223,小数位自动判断按最多取,希望都能适用。

wanhongron 发表于 2011-12-15 12:55:28

;;;△数字增值
(defun c:add ()
(setvar "cmdecho" 0)
(setq ss (ssget '((0 . "*TEXT"))))
(princ "\n输入增加数值:")
(setq add (getint))
(setq i 0)
(repeat (sslength ss)
    (setq ssn (ssname ss i))
    (setq ssn_data (entget ssn))
    (setq num (atoi (cdr (assoc 1 ssn_data))))
    (setq New_num (itoa (+ num add)))
    (entmod (subst (cons 1 new_num) (assoc 1 ssn_data) ssn_data)
    )
    (setq i (1+ i))
)
(prin1)
)

Andyhon 发表于 2011-12-15 13:02:33

    (setq num (atoi (cdr (assoc 1 ssn_data))))
    (setq New_num (itoa (+ num add)))
===>
    (setq num (atof (cdr (assoc 1 ssn_data))))
    (setq New_num (Rtos (+ num add)))

And Should check Var. ==>DimZin

wanhongron 发表于 2011-12-15 18:39:04

谢谢andyhon大侠,想问问And Should check Var. ==>DimZin是什么意思?

【KAIXIN】 发表于 2011-12-15 19:32:54

itoaRtosatoiatof
整数与实数的区别,你只要知道这几个的用法就可以了

yjr111 发表于 2011-12-15 19:43:58

可以去试试我写的文字原位递增,呵呵
页: [1]
查看完整版本: **数字增值程序,大侠帮忙改成能适应小数