RE: MemberQ
- To: mathgroup at smc.vnet.net
- Subject: [mg68528] RE: [mg68503] MemberQ
- From: "Erickson Paul-CPTP18" <Paul.Erickson at Motorola.com>
- Date: Wed, 9 Aug 2006 04:18:38 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Bruce, In[2]:= Range[0., 1., .1][[8]] - .7 Out[2]= 1.1102230246251565x10^-16 Looks like ye old precision problem of accumulated error. That is 7 increments of 0.1 as a real machine precision number is not equal to 0.7. One of probably many ways around this would be to wrap Range with a rounding function like Rationalize and then convert each element separately back to machine precision: In[9]:= MemberQ[ N[ Rationalize[ Range[0., 1., .1] ] ], .7] Out[9]= True Another is of course to normalize to integers so as to avoid the problem in the first place. Paul -----Original Message----- From: Bruce Colletti [mailto:vze269bv at verizon.net] To: mathgroup at smc.vnet.net Subject: [mg68528] [mg68503] MemberQ Re Mathematica 5.2.0.0. Since 0.7 is in the set {0.0, 0.1, 0.2,..., 0.9, 1.0}, why does MemberQ[Range[0., 1., .1], .7] return False? Thankx. Bruce