Small Fish 发表于 2022-7-6 14:29:02

比较十进制数

我不知道为什么会出现这种情况——如果Rad=Radius——之前从选定的圆推导得出。当半径为7.6时,为什么我不能设置“MyValue”?
是因为我需要一个软糖因子,还是我遗漏了什么?
 
 
(如果
(或
(=拉德6.35)
(=拉德7.6)
);或
 
(setq MyValue(*2.0 rad))
);如果
 
谢谢

Shawndoe 发表于 2022-7-6 14:39:20

你好
 
这对我很有效。我来赌一把,问题是你对Rad的价值不是你想象的那样。
 
祝你过得愉快。
肖恩多

Small Fish 发表于 2022-7-6 14:44:21

是的,但例如,当我在watch窗口中查看值时,Rad为7.6,但它不想设置“MyValue”
也许是其他问题?

Lee Mac 发表于 2022-7-6 14:55:01

您可以使用equal而不是=as with=这两个表达式必须相同才能返回true。
 
使用equal可以指定模糊,例如0.0001或类似的值。
 

Freerefill 发表于 2022-7-6 14:59:47

这可能是一个愚蠢的建议,但你可能还想考虑你的单元。即使通过LISP确定的数字在小数点后有几位,查看该数字也将以图形的单位为准,如果不允许显示小数点后超过1位,则任何7.6的数字都将显示为7.6。

TimSpangler 发表于 2022-7-6 15:05:55

 
我本打算提出同样的建议。在大多数情况下,我更喜欢(等于)而不是(=)关于模糊的数值

Lee Mac 发表于 2022-7-6 15:12:02

 
伟人所见略同。。。

TimSpangler 发表于 2022-7-6 15:20:11

我听说。。。。。。。

Small Fish 发表于 2022-7-6 15:28:51

谢谢大家,模糊因子似乎用“equal”实现了这个技巧

David Bethel 发表于 2022-7-6 15:35:14

如果需要不同的模糊因子,可以使用以下内容:
 
命令:(setq r 2.6)2.6命令:(
页: [1]
查看完整版本: 比较十进制数