明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1857|回复: 10

请教

[复制链接]
发表于 2004-7-15 14:51:00 | 显示全部楼层 |阅读模式
我有一文本文件,第三方软件生成的,格式为:



(1 气1)(2 里程)(3 0+002)(4 35623.01).....


(1 气2)(2 里程)(3 1+045)(4 1123.12).....


(1 气3)(2 里程)(3 2+202)(4 4562.88).....


......


我用read-line方法读取每行,读出来的却是字符串类型,想把它变成


((1 气1)(2 里程)(3 0+002)(4 35623.23).....)格式,然后用nth 和cadr求每个括号内第二个值,但找不到合适的函数.请指教.
发表于 2004-7-15 15:28:00 | 显示全部楼层
str是read-line读出来的结果


(read (strcat "(" str ")"))
 楼主| 发表于 2004-7-15 16:06:00 | 显示全部楼层
谢谢斑竹提醒。刚才试了一下,结果如下: 命令: (setq line (read-line f))
"(1 气7)(2 1+527.3)(3 90 00)(4 3956591.75)(5 350634.65)"
命令: (read (strcat "(" line ")"))
((1 气7) (2 1+527) (3 90 0) (4 3.95659e+006) (5 350635.0)) 为什么第二个返回值小数位变了,是不是需要设置格式啊。
发表于 2004-7-15 18:01:00 | 显示全部楼层
1+527.3不是一个数。。。数字没有这样的写法
 楼主| 发表于 2004-7-16 09:32:00 | 显示全部楼层
但是括号内所有的数小数位都变了,我把文件中的括号内第二项加上引号之后读出来就不存在这个问题。查看read函数说明,是这样说的:The read function parses the string representation of any LISP data and returns the first expression in the string, converting it to a corresponding data type


请问corresponding 是什么意思?先谢谢
发表于 2004-7-16 10:15:00 | 显示全部楼层
那些变化只是显示问题,其实小数位数是不变的。。。 你可以使用(rtos xx)看实际小数位数 ————以下摘自金山词霸 correspond
[ kCris5pCnd ]
vi.符合, 协调, 通信, 相当, 相应
 楼主| 发表于 2004-7-16 14:03:00 | 显示全部楼层
在斑竹的热心指导下,这个问题已经解决,谢!也一并感谢所有支持这个论坛的同志们。


俺是新手上路,以后还会继续来向大虾们请教、学习。


致敬!
发表于 2004-7-17 15:07:00 | 显示全部楼层
斑竹,我是新手,请教使用LISP编程能加密吗?
发表于 2004-7-17 15:09:00 | 显示全部楼层
斑竹,能答复一下吗?
发表于 2004-7-17 15:13:00 | 显示全部楼层
斑竹,您为什么不与俺说话呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-1 00:27 , Processed in 0.191676 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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