乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 26|回复: 18

[编程交流] 将实数转换为字符串

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:55:01 | 显示全部楼层 |阅读模式
这可能是一个愚蠢的问题,但我似乎找不到正确的LISP函数。
 
我需要将实数转换为字符串。
 
我发现:
 
atoi“字符串到整数”
itoa“整数到字符串”
atof“字符串到实数”
 
但没有“真正的字符串”
 
有什么想法吗?
回复

使用道具 举报

8

主题

1133

帖子

1164

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 08:00:07 | 显示全部楼层
任何类似rtos的东西(实到字符串)
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 08:02:28 | 显示全部楼层
李·麦克,
 
您可能还需要研究DIMZIN系统变量,因为它控制(rtos)调用的返回格式-大卫
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:05:17 | 显示全部楼层
谢谢你们的帮助所以像这样把实数设为一个小数点后两位的字符串。。。
  1. (defun test (/ olddim a1)
  2. (setq olddim (getvar "dimzin))
  3. (setvar "dimzin" 0)
  4. (setq a1 (rtos 123.32 2 2))
  5. (alert a1)
  6. (setvar "dimzin" olddim)
  7. )
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 08:09:26 | 显示全部楼层
对的
 
数字到sting转换需要注意以下几点:
 
(sslength)记录为返回整数。当选取集大于32767个实体时,它返回实数。(itoa(sslength ss))在该场景中可能会失败(rtos(sslength ss)2 0)将始终工作
 
(angtos)不符合单位值。您必须将其减少1。ie(angtos 0.785398 0 2)返回“45.00”不要问我为什么。
 
DIMZIN位标志8没有很好地记录。在VLisp帮助下,DIMZIN->字符串转换实际上是一个很好的参考,至少是A2K版本。
 
-大卫
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:12:30 | 显示全部楼层
谢谢David,信息量很大。
 
我想知道为什么他们选择32767作为整数的限制。。。。看起来很随意。。。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 08:15:17 | 显示全部楼层
李·麦克,
 
2到16次方为65536。考虑正数和负数,基本上是数字的一半减去0的一个位置,得到32767。至少我记得是这样的-大卫
回复

使用道具 举报

15

主题

43

帖子

28

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 08:20:57 | 显示全部楼层
需要帮助来创建代码。。
(setq a 123);如果我加上数字
(setq a“点-123”);有时我的输入值应该是这样的
请,我需要帮助在lisp中使用IF或COND函数
例如,如果我输入123,它应该像这样提示——它是真实的
如果我输入“point-123”,它会提示——它是字符串
 
谢谢和问候
比乔伊
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 08:23:11 | 显示全部楼层
使用类型函数。
 
示例。。。。
 
  1. (setq a 123)
  2. (setq b "Point-123")
  3. (type a) ;; INT
  4. (type b) ;; STR
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 08:27:21 | 显示全部楼层
 
  1. (setq answer (getstring "\nEnter Value: "))
  2. (setq answer
  3. (if (numberp (setq a (eval (read answer )))) a answer))
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-9 20:44 , Processed in 0.813983 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表