autolisp中的实数
我有一个lisp例程,它从excel表格中读取点坐标,并在这些点上插入块。所有点都有3位小数。例如614332.785, 2619494.544
例行工作很好。
现在,在另一个例程中,我得到了块的基点,并将其与excel文件中的坐标进行比较。它们不相同,但略有不同。例如,在上述点插入的块的基点将由lisp报告为(614333.0261949E+006)。造成这种差异的原因是什么。我怎样才能得到相同的精确值。
类似地,假设它们是存储在excel单元格中的值6123.494,当我提取该值(使用vlisp)时,系统显示变量的值为6123.494,但当我调用(valx variant value)时,返回值变为6123。为什么会这样。494部分省略。请引导。
谢谢 只需按以下方式更改函数中的最后一个数字。
(rtos YourNumber 2 3 )
如果发现任何其他错误,最好也粘贴代码,让我们为您检查它们。。。
当做
塔瓦特 谢谢Tharwat,
但我希望结束结果是实数,而不是字符串。rtos可能会将结果转换为字符串。
有什么建议吗? 它来了;
(setq a 15.12345)
15.1235
(setq b (rtos a 2 3))
"15.123"
(setq c (atof b))
15.123
当做
塔瓦特 阅读开发者指南中的EQUAL。
页:
[1]