明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1977|回复: 8

字符串位数不足时如何用0补齐

[复制链接]
发表于 2013-2-1 11:25 | 显示全部楼层 |阅读模式
比如一个实数10.13,将其转为字符串010.130的形式,如何实现,先谢谢了。
发表于 2013-2-1 12:13 | 显示全部楼层
  1. (setq real (getreal "\n输入数字:"))
  2. (setq dimzin (getvar 'dimzin))
  3. (setvar 'dimzin 0)
  4. (setq str (rtos real 2 3))
  5. (if (< (setq n (strlen str)) 7)
  6.   (repeat (- 7 n)
  7.     (setq str (strcat "0" str))
  8.     )
  9.   )
  10. (setvar 'dimzin dimzin)
  11. (print str)
 楼主| 发表于 2013-2-1 12:56 | 显示全部楼层
谢谢版主,用你的方法解决了。
发表于 2013-2-1 13:29 | 显示全部楼层
本帖最后由 ll_j 于 2013-2-2 21:21 编辑

来个更通用的:

  1. (defun dig (num nn dn / n0 oldd ns)  ; num数值,nn整数位数,dn小数位数
  2.   (setq oldd (getvar "dimzin"))
  3.   (setvar "dimzin" 0)
  4.   (setq ns (rtos num 2 dn))
  5.   (if (< num (expt 10 nn))
  6.     (progn
  7.       (setq n0 (if (/= 1000 num)
  8.                       (fix (/ (log num) (log 10.0)))
  9.                       3
  10.         )
  11.      n0 (- nn n0 1)
  12.       )
  13.       (if (> n0 0)
  14.        (repeat n0 (setq ns (strcat "0" ns)))
  15.        ns
  16.       )
  17.     )
  18.     ns
  19.   )
  20.   (setvar "dimzin" oldd)
  21.   ns
  22. )


点评

自定义函数 nm 没有放出来,nm应该是计算小数点前有多少位数,希望补全  发表于 2013-2-1 22:29
nn整数位数,dn小数位数,请教有什么差别?感觉只要有小数位数就可以了,nn是不是多余的啊  发表于 2013-2-1 14:08
发表于 2013-2-1 14:34 | 显示全部楼层
(dig 15.2 3 3)
; 错误: no function definition: NM
发表于 2013-2-2 21:27 | 显示全部楼层
ynhh 发表于 2013-2-1 14:34
(dig 15.2 3 3)
; 错误: no function definition: NM

不好意思,程序先使用了子函数,临发的时候调整了一下,没有改彻底,上面的代码重新改过了。

一般前面需要一定数位的在测量桩号中会使用,但也就是3位,就像G版的那样就可以了,我这个是“钻牛角尖”的玩意,并没有什么实际用途,练练手而已。
发表于 2013-2-4 08:58 | 显示全部楼层
ll_j 发表于 2013-2-2 21:27
不好意思,程序先使用了子函数,临发的时候调整了一下,没有改彻底,上面的代码重新改过了。

一般前面 ...

你这个程序也很好,感觉上比G版的通用
感谢你的高超技术和热心精神
祝你春节愉快
发表于 2013-2-4 09:58 | 显示全部楼层
好东本,,,已经试用了,,,爽 ,,,
发表于 2013-9-28 22:13 | 显示全部楼层
谢谢楼主!又学一招。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 10:48 , Processed in 1.407386 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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