明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1490|回复: 9

[已解答] 请问打架Autolisp有这个数字处理函数吗

[复制链接]
发表于 2014-7-23 15:38 | 显示全部楼层 |阅读模式
比如输入数字1,我想以3位输出,则输出001,输入12,则输出012
谢谢大家哈

点评

没必要“打架”……  发表于 2014-7-24 08:28
发表于 2014-7-23 16:59 | 显示全部楼层
发表于 2014-7-23 17:53 来自手机 | 显示全部楼层
发帖时对大家最起码的尊重是把内容输完了自己再看一遍,不要有明显的错别字!
发表于 2014-7-24 08:04 | 显示全部楼层
凑个热闹,给个算法:不管三七二十一先把文本前面加上“00”,例如是“1”,处理后变为“001”,如果是“17”处理后会是“0017”,然后从右边取3个文本就OK!
发表于 2014-7-24 08:28 | 显示全部楼层
  1. ;;不足三位前面用0补齐 (aaa 12)
  2. (defun aaa (int)
  3.   (setq int (abs int))
  4.   (cond((< int 10) (strcat "00" (itoa int)))
  5.         ((< int 100) (strcat "0" (itoa int)))
  6.         (t (itoa int))
  7.   )
  8. )
发表于 2014-7-24 08:28 | 显示全部楼层
cdma2546 发表于 2014-7-24 08:04
凑个热闹,给个算法:不管三七二十一先把文本前面加上“00”,例如是“1”,处理后变为“001”,如果是“17 ...

是个好方法。
不过位数超过3的就不能用这个算法了。
发表于 2014-7-24 08:47 | 显示全部楼层
一千多积分的人,这个自己还搞不定吗?还要打架?
发表于 2014-7-24 10:29 | 显示全部楼层
机械工程师 发表于 2014-7-24 08:28
是个好方法。
不过位数超过3的就不能用这个算法了。

无论是几位都先加“00”,这样加上本身的1位数,保证了至少三位数,楼主想要的是不足3位的以“0”补齐,呵呵,超过3位数,直接取3位就是了,加“00”一点也不影响....
 楼主| 发表于 2014-7-25 21:01 | 显示全部楼层
非常感谢大家的回答,其实算法我也知道,我就是想问一下Lisp有没有直接的函数。
 楼主| 发表于 2014-7-25 21:02 | 显示全部楼层
Gu_xl 发表于 2014-7-23 17:53
发帖时对大家最起码的尊重是把内容输完了自己再看一遍,不要有明显的错别字!

这几天太忙了,没有注意,下次一定注意
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-19 19:06 , Processed in 0.434012 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表