找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1164|回复: 9

[求助] [求助]:将字符串转换

[复制链接]
发表于 2005-9-7 09:52:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我现在有一个字符串如"A23",我想提取里面的数据A23,请问该怎么办
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-9-7 11:07:39 | 显示全部楼层
可怜,只有我回答你了


语法

     (atof string)

功能及参数

    此函数可用来将字符串转换成实型数。

范例

(atof "97.1")     返回   97.1

    (atof "3")        返回   3.0

 哎呀,不行,我试了一下,返回为 0.0
等我再想想

如果你的字符串是在图上选择的

   我通过下面代码
      (setq ss1 (ssget '((0 . "TEXT"))))
            (setq pt1 (ssname ss1 0)
                    entl (entget pt1)
                    aass (assoc 1 entl)
                    ccrr (cdr aass)
                  )
       (princ ccrr)

    返回的是  A23"A23"

    搭车问其他高人,为什么会这样???
  
声明:我昨天开始学lisp,超级新人,脸皮就是厚了点拉,呵呵
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 11307个

财富等级: 富甲天下

发表于 2005-9-7 11:37:50 | 显示全部楼层

Re: [求助]:将字符串转换

最初由 lei_na521 发布
[B]我现在有一个字符串如"A23",我想提取里面的数据A23,请问该怎么办 [/B]

如果是取单个字母A后面的数据可以用:
(DISTOF (SUBSTR "A23" 2) 2)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-7 11:59:03 | 显示全部楼层

Re: Re: [求助]:将字符串转换

最初由 zxq0220 发布
[B]
如果是取单个字母A后面的数据可以用:
(DISTOF (SUBSTR "A23" 2) 2) [/B]


我觉得这样不具通用性,如果是"AAA23A"呢??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-7 12:28:24 | 显示全部楼层
可以先判断第一个数字,然后提取其及后面的数字就可以了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 11307个

财富等级: 富甲天下

发表于 2005-9-7 13:20:12 | 显示全部楼层

Re: Re: Re: [求助]:将字符串转换

最初由 zhanyu80 发布
[B]

我觉得这样不具通用性,如果是"AAA23A"呢?? [/B]

一楼没有说明转换的字符串前有几个字母呀!
而且我也说明了:如果是单个字母可以用......
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-7 13:34:01 | 显示全部楼层
我又想了想,觉得楼主的问题应该是个概念性的问题

我觉得  "A23"  与 A23 是一样的

下面是参考书上摘录的:

運算子(又稱引數或元素)包括:

A.整數(Integer): 如8,-17,500,9999…

正常範圍: 2的16次方,介於-32768與+32767之間

特殊範圍: 若以 float 函數將其轉為實數,則範圍2的32次方, 介於-2147483648與+2147483647之間

B.實數(Real): 如8.5,-17.456…

正常範圍: 帶有小數點的數,精度可達 14 位有效數字

C.字串(String): 如 "AutoCAD","123","Enter Real:","7.5",…

正常範圍: 以雙引號內夾『字元』為認定,字元數不受限制

D.串列(List): 如 ("a" "b" "c"),(x y),(x y z),("a" 8 3.5),....

正常範圍: 以左右括號內夾『元素』為認定,元素型態非常彈性

使用頻率: 在 AutoLISP 程式設計中應用非常高

範例說明 : ("a" 8 3.5 kk (1 2))

表示此串列內有五個元素 "a"表示字串a、8表示整數8、3.5表示實數3.5、kk表示變數kk、(1 2)表示串列(1 2)

 

2D 點座標(x y) 表示法 => 以二實數形成串列

3D 點座標(x y z) 表示法 => 以三實數形成串列

E.圖元名稱代碼:如 <entity name: 6000f262> ...

使用範圍: AutoCAD 會自動賦予圖元指向代碼,透過此代碼可找到圖元的資料庫記錄

範例說明: (setq en (entlast))   

傳回 <entity name: 60000062>

(entget en) 可找到圖元的資料庫串列

F.檔案代碼: 如<file:#12438>…

使用範圍: 開啟(open)檔案作讀檔(r)、寫檔(w)使用時,所產生的代碼,如下:

範例說明:

(setq ffr (open "test.txt" "r"))  回應 <file:#24138>

(setq ffw (open "abc.txt" "w")) 回應 <file:#34812>

 

G.選擇群集代碼: 如<Selection set:1>、<Selection set:1>…

使用範圍: 一個或數個圖元所形成的選擇集

範例說明:

(setq ss (ssget))

選取物件:  (可選擇物體)

選取物件:  (可選擇物體)

選取物件: (按 [ENTER] 鍵)   

回應 <Selection set:1>


```````````````````````````````````````````````````````````

我觉得最基本的元素只是 整数,实数,字符串,(还有  代码?)

你要的A23 是函数返回值
显然不能是 整数和实数,,只能是字符串了,虽然没加双引号

新手愚见,望指正~~~~~~~~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 11307个

财富等级: 富甲天下

发表于 2005-9-7 14:19:17 | 显示全部楼层
没有双引号的是符号,可用做变量名。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-7 14:25:27 | 显示全部楼层
最初由 zxq0220 发布
[B]没有双引号的是符号,可用做变量名。 [/B]


我试了一下,好像变量名中不能有数字吧

a23 能做变量名????


啊呀, 真的可以,我又错了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-7 15:46:14 | 显示全部楼层
不知道你们是什么意思..
如果只是取字符串里面的内容试一下
(READ "AAAAA")返回AAAAA
(READ "BBBBBBBB")返回BBBBBBBB
(READ "123456") 返回 123456

举例:
(SETQ ABC 123)
(EVAL (READ "ABC"))
返回123
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-28 17:04 , Processed in 0.447989 second(s), 50 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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