明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1235|回复: 3

[基础] 请问得出文字DXF码 如何让它换算成有几位小数?

[复制链接]
发表于 2011-6-16 13:19:34 | 显示全部楼层 |阅读模式
本帖最后由 lincctw_ccl 于 2011-6-16 13:20 编辑


请问

文字
3.123 得出群码为
(1 . 3.123)
该用何函数可得知
3.123 为小数点3
下列
lsp为文字数字进行加减计算,
如何可省略下面这两行,达到被计算的文字结果
小数点位数不产生变化

(if (not (setq uni (getreal "\n小数点位数<3>:")))(setquni 3))(setvar "LUPREC" uni)


谢谢!!


3.123
3.123-1=2.123
如选3.12345
3.12345 -1=3.12345




以下为程序
;;;;;;;;;数字文字加减改文字
(defun c:txtcal1 (/ uni en en_data onum_list old_num onum val new_num nnum_listnew_data)
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(if (not (setq uni (getreal "\n小数点位数<3>:")))(setquni 3))
(setvar "LUPREC" uni)
(while
(setq en(entsel "\n选取须计算更改的数字:"))
(setq en_data(entget (car en)));;取出全组码
(setq onum_list(assoc 1 en_data));;取出组码1
(setq old_num (cdr onum_list));;去除组码1 的第一个数字
(setq onum(distof old_num));;将文字转化成可计算的纯数值
(setq val (getreal "\n+
- 数值:"))
(setq new_num (rtos(+ onum val)));;rtos为将纯数值转问字符串
(setq nnum_list (cons 1 new_num))
(setq new_data(subst nnum_list onum_list en_data))
(entmod new_data)
(command "chprop" (entlast) "" "C" "1""")
))
(setvar "cmdecho" 1)
(prin1)
发表于 2011-7-6 15:01:14 | 显示全部楼层
不是很明白你的意思。
如果你只是想要知道小数点后面有几位数的话,你把它转成字符串后。再用(SUBSTR 字串 X 1)从第一个字符开始提取直到提取字符为小数点后停止。小数点后几位数就=(STRLEN 字串)-X
发表于 2011-7-6 15:01:49 | 显示全部楼层
X是从1开始 逐渐+1的
 楼主| 发表于 2011-7-7 07:50:06 | 显示全部楼层
回复 198526 的帖子

謝謝指點!!
我再試看看!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-10 06:35 , Processed in 0.183458 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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