正确使用位置

6 wolfram-mathematica

mma帮助文档中Position,以下列在"可能的问题"下

In[1]:= Position[Range[-1, 1, 0.05], 0.1]
Out[1]= {}
Run Code Online (Sandbox Code Playgroud)

但是没有给出任何解释.为什么会这样?所以,如果我真的需要找到0.1in 的位置,Range[-1,1,0.05]我该怎么做?

Mr.*_*ard 9

这是一个数字精度问题:0.1在Range内部与0.1输入不相同.解决这个问题的正常方法是比较Equal而不是隐式SameQ.

Position[Range[-1, 1, 0.05], x_ /; x == 0.1]
Run Code Online (Sandbox Code Playgroud)