将实数转换为字符串
这可能是一个愚蠢的问题,但我似乎找不到正确的LISP函数。我需要将实数转换为字符串。
我发现:
atoi“字符串到整数”
itoa“整数到字符串”
atof“字符串到实数”
但没有“真正的字符串”
有什么想法吗? 任何类似rtos的东西(实到字符串) 李·麦克,
您可能还需要研究DIMZIN系统变量,因为它控制(rtos)调用的返回格式-大卫 谢谢你们的帮助所以像这样把实数设为一个小数点后两位的字符串。。。
(defun test (/ olddim a1)
(setq olddim (getvar "dimzin))
(setvar "dimzin" 0)
(setq a1 (rtos 123.32 2 2))
(alert a1)
(setvar "dimzin" olddim)
) 对的
数字到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版本。
-大卫 谢谢David,信息量很大。
我想知道为什么他们选择32767作为整数的限制。。。。看起来很随意。。。 李·麦克,
2到16次方为65536。考虑正数和负数,基本上是数字的一半减去0的一个位置,得到32767。至少我记得是这样的-大卫 需要帮助来创建代码。。
(setq a 123);如果我加上数字
(setq a“点-123”);有时我的输入值应该是这样的
请,我需要帮助在lisp中使用IF或COND函数
例如,如果我输入123,它应该像这样提示——它是真实的
如果我输入“point-123”,它会提示——它是字符串
谢谢和问候
比乔伊 使用类型函数。
示例。。。。
(setq a 123)
(setq b "Point-123")
(type a) ;; INT
(type b) ;; STR
(setq answer (getstring "\nEnter Value: "))
(setq answer
(if (numberp (setq a (eval (read answer )))) a answer))
页:
[1]
2