请问打架Autolisp有这个数字处理函数吗
比如输入数字1,我想以3位输出,则输出001,输入12,则输出012谢谢大家哈
http://bbs.mjtd.com/thread-100314-1-1.html 发帖时对大家最起码的尊重是把内容输完了自己再看一遍,不要有明显的错别字!
凑个热闹,给个算法:不管三七二十一先把文本前面加上“00”,例如是“1”,处理后变为“001”,如果是“17”处理后会是“0017”,然后从右边取3个文本就OK! ;;不足三位前面用0补齐 (aaa 12)
(defun aaa (int)
(setq int (abs int))
(cond((< int 10) (strcat "00" (itoa int)))
((< int 100) (strcat "0" (itoa int)))
(t (itoa int))
)
) cdma2546 发表于 2014-7-24 08:04 static/image/common/back.gif
凑个热闹,给个算法:不管三七二十一先把文本前面加上“00”,例如是“1”,处理后变为“001”,如果是“17 ...
是个好方法。
不过位数超过3的就不能用这个算法了。 一千多积分的人,这个自己还搞不定吗?还要打架? 机械工程师 发表于 2014-7-24 08:28 static/image/common/back.gif
是个好方法。
不过位数超过3的就不能用这个算法了。
无论是几位都先加“00”,这样加上本身的1位数,保证了至少三位数,楼主想要的是不足3位的以“0”补齐,呵呵,超过3位数,直接取3位就是了,加“00”一点也不影响.... 非常感谢大家的回答,其实算法我也知道,我就是想问一下Lisp有没有直接的函数。 Gu_xl 发表于 2014-7-23 17:53 static/image/common/back.gif
发帖时对大家最起码的尊重是把内容输完了自己再看一遍,不要有明显的错别字!
这几天太忙了,没有注意,下次一定注意
页:
[1]