在Equal
的文档页面上,我们读到了
以下是示例(32位系统;对于64位系统,请在中间添加更多零):
In[1]:= 1.0000000000000021 == 1.0000000000000022
1.0000000000000021 === 1.0000000000000022
Out[1]= True
Out[2]= True
我想知道Mathematica中的
Equal
函数是否有一个“正常”的模拟形式,并且不会丢弃最后7个二进制数字? 最佳答案
In[12]:= MyEqual[x_, y_] := Order[x, y] == 0
In[13]:= MyEqual[1.0000000000000021, 1.0000000000000022]
Out[13]= False
In[14]:= MyEqual[1.0000000000000021, 1.0000000000000021]
Out[14]= True
这将测试两个对象是否相同,因为1.0000000000000021和1.000000000000002100的精度不同,因此它们不会被视为相同。
关于wolfram-mathematica - Mathematica中是否有 "normal"EqualQ函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4983885/