"ltp" <[EMAIL PROTECTED]> writes: > Hi > > Thanks for the quick reply. However, I am not satisfied, as > > round(3.15000000, 1) > [1] 3.1 > > round(3.75000000, 1) > [1] 3.8 > > I think the problem is really more of an error in the rounding off > algorithm than finite precision.
It isn't, and adding zeros doesn't change anything. The issue is that 3.15 has a nonterminating binary expansion, just like 1/7 has a nonterminating decimal one. Please do read the references that have already been provided to you. 3.15 (dec) == 11.0010011001100110011... (bin) 3.75 (dec) == 11.11 (bin) > Thanks > Teckpor > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Peter > Dalgaard > Sent: Monday, May 29, 2006 17:49 > To: [EMAIL PROTECTED] > Cc: [email protected]; [EMAIL PROTECTED] > Subject: Re: [Rd] Numerical error in R (win32) (PR#8909) > > [EMAIL PROTECTED] writes: > > > Hi > > I had observed the following problem in R (also C, Matlab, and > Python). > > sprintf('%1.2g\n', 3.15) > > give 3.1 instead of 3.2 whereas an input of 3.75 gives 3.8. > > Java's System.out.printf is ok though. > > > > > round(3.75,1) > > [1] 3.8 > > > round(3.15,1) > > [1] 3.1 > > > > Similar outcome with sprintf in R. > > > > > > However, the right answer should be 3.2 > > According to what? Remember that we're dealing with finite precision binary > arithmetic here: > > > (3.15 - 3.1)<.05 > [1] TRUE > > abs(3.15 - 3.2)>.05 > [1] TRUE > > See also FAQ 7.31. > > > Regards > > Teckpor > > > > -- > O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B > c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K > (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 > ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 > > -- O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
