补齐数字的位数
大家好,我想把所选数字在前面用字符0补齐成固定的位数,如补齐成五位:1--00001,2--00002,112---00112,1001---01001...... 谁能给我代码,不胜感谢! ;;数字文本补零函数;;code by edata@mjtd
;;2014-6-10
(defun sk_str_addzero(str add_num)
(if(and str add_num (= (type str)'STR)(> add_num 0)(= (type add_num)'INT))
(if(< (strlen str) add_num)
(repeat (- add_num (strlen str))
(setq str(strcat "0" str))
)
str
)
)
)
;;选择数字文本补零
(defun c:tt(/ en ss obj str)
(prompt "\n请选择数值文本.多行文字不要带格式.否则无效.")
(if(setq ss (ssget '((1 . "*#*"))))
(while (setq en(ssname ss 0))
(setq obj (vlax-ename->vla-object en)
str (vla-get-textstring obj))
(vla-put-textstring obj (sk_str_addzero str 5))
(setq ss(ssdel en ss))
)
)
) edata 发表于 2014-6-10 11:54
能实现了。非常感谢! 补齐位数如果能根据需要输入就好了
页:
[1]