cz78873559 发表于 2014-6-10 10:44:14

补齐数字的位数

大家好,我想把所选数字在前面用字符0补齐成固定的位数,如补齐成五位:1--00001,2--00002,112---00112,1001---01001......   谁能给我代码,不胜感谢!

edata 发表于 2014-6-10 11:54:38

;;数字文本补零函数
;;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))
      )
    )
)

cz78873559 发表于 2014-6-10 15:03:03

edata 发表于 2014-6-10 11:54


能实现了。非常感谢!

360527010 发表于 2014-6-19 22:54:07

补齐位数如果能根据需要输入就好了
页: [1]
查看完整版本: 补齐数字的位数