需要帮助来保存我的数据
你好我想知道为什么这些代码工作不正常,并返回错误消息。
谢谢 至少用“\”表示分数的错觉
(setq a (if a b "1"))
(if (progn
(initget (+ 1 2 4) "1\\4 1\\2 2 1.5")
(setq a (cond
((getkword (strcat "\n Enter Inch Number [1\\4/1\\2/2/1.5] <"
a" > :")))(T a))))
(setq b a)
)
为了获得更好的外观,请确保dynmode设置为1
不需要变量转换
顺便说一句:
http://lee-mac.com/promptwithdefault.html对于默认教程 谢谢
但这并不能将给定的数据保存到变量a,变量a需要根据最后一个给定的数据进行更改。
我想这是因为不存在(atoi a 3 2)。
你怎么想。 啊。。。。我懂了
通过使用“\”不能将变量a转换为浮点数
但如果使用“/”,getkword无法将其识别为1/4
也许有一个逃生密码。。。嗯嗯
顺便说一句,使用distof代替,1/4是0.25,将1/4转换为整数将得到1,此外itoa没有模式参数
我会再打给你。。。坚持 思考变量“a”指向的数据类型:
(setq a (cond ( a ) ("1")))
(if
(progn (initget "0.25 0.5 2 1.5")
(setq a
(cond
(
(getkword
(strcat "\n Enter Inch Number <" a "> :")
)
)
( a )
)
)
)
(princ (strcat "You have Selected: " a))
)
谢谢李。
虽然这会将用户选择的数字保存到参数中,但第二次使用它时,我不能
按enter键获取变量的上次保存的数字。
它将其保存为变量,而不是参数。您设置了initget位1,防止用户按enter键-我编辑了我的帖子以删除initget位值。
由于您需要“真实”值,我更倾向于这样处理:
3 哦,好的。我打字太慢了。。我正要建议用小数代替分数。
但我可以发誓我做过一次。。。我会继续挖掘
编辑:哎呀,李,你肯定能快速编码和打字。。。。 这不仅仅是伟大的李。非常感谢。
非常感谢pBe。
非常感谢。
练习过多
不客气,迈克尔-希望我的代码可以理解。
页:
[1]