Perifanos 发表于 2022-7-6 06:50:23

简单setq不工作。。。

为什么这个简单的命令不起作用?
 
(setq p (* (/ 1 12.0) e))
 
e=16.9988
 
(返回p=0.0)

BIGAL 发表于 2022-7-6 07:05:56

如果不小心的话,simple/1.0 12.0 lisp会从字面上取整数和实数

Bill Tillman 发表于 2022-7-6 07:23:04

你能告诉我们如何设置“e”的值吗?
 
唯一的计算方法是如果“e”为0。也许它的价值是从另一次运行中遗留下来的?

Perifanos 发表于 2022-7-6 07:37:02

没关系,1.0成功了。lisp处理某些事情的方式很有趣。。。我会习惯的。
 
另一个:
 

(defun roundnum        (a n /)
(/ (float (fix (* a (expt 10 n)))) (expt 10 n))
)

...

(setq p (* (/ 1.0 12.0) e))
(princ (strcat "\mpla mpla mpla " (rtos (roundnum (p 2))) " m"))
 
抛出“错误:错误函数:”

pBe 发表于 2022-7-6 07:54:06

(roundnum p 2)
页: [1]
查看完整版本: 简单setq不工作。。。