请问得出文字DXF码 如何让它换算成有几位小数?
本帖最后由 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) 不是很明白你的意思。
如果你只是想要知道小数点后面有几位数的话,你把它转成字符串后。再用(SUBSTR 字串 X 1)从第一个字符开始提取直到提取字符为小数点后停止。小数点后几位数就=(STRLEN 字串)-X X是从1开始 逐渐+1的 回复 198526 的帖子
謝謝指點!!
我再試看看!
页:
[1]