On Tue, Feb 01, 2011 at 05:49:10AM -0800, mlancee wrote: > > Hi, > > I have a seemingly easy question that has been keeping be busy for quite a > while. The problem is the following: > > 0.1 + 0.1 + 0.1 == 0.3 > [1] FALSE > > Why is this false? Another example is > > 0.2 + 0.1 == 0.3 > [1] FALSE > > or > > 0.25 + 0.05 == 0.20 + 0.10 > [1] FALSE > > However, I do get TRUE if I use integers, or for example the following > > 0.1 + 0.1 == 0.2 > [1] TRUE > > It is probably something very basic, but I did not manage to find the > answer.
Hi. The reason is that a number, which has a finite expansion as a decimal number, need not have a finite expansion as a binary number. Besides FAQ 7.31, see also http://rwiki.sciviews.org/doku.php?id=misc:r_accuracy for further examples and some hints. Petr Savicky. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.