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. Thanks, Michael -- View this message in context: http://r.789695.n4.nabble.com/Comparing-decimal-numbers-tp3251437p3251437.html Sent from the R help mailing list archive at Nabble.com.
Hi Michael, this is R-FAQ 7.31 http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-these-numbers-are-equal_003f cheers. Am 01.02.2011 14:49, schrieb mlancee:> > 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. > > Thanks, > Michael-- Eik Vettorazzi Institut f?r Medizinische Biometrie und Epidemiologie Universit?tsklinikum Hamburg-Eppendorf Martinistr. 52 20246 Hamburg T ++49/40/7410-58243 F ++49/40/7410-57790
Thanks a lot! -- View this message in context: http://r.789695.n4.nabble.com/Comparing-decimal-numbers-tp3251437p3251804.html Sent from the R help mailing list archive at Nabble.com.
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.
Hi, this is R FAQ 7.31. http://cran.r-project.org/doc/FAQ/R-FAQ.html HTH, Stephan Am 01.02.2011 14:49, schrieb mlancee:> > 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. > > Thanks, > Michael