[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 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel