[1] " 37000000"foo <- 3.7e7 formatC(foo,digits=22)
formatC(signif(foo,2),digits=22)[1] "36999999.99999997764826"
formatC(signif(foo,3),digits=22)[1] "36999999.99999997764826"
formatC(signif(foo,4),digits=22)[1] "36999999.99999998509884"
formatC(signif(foo,5),digits=22)[1] "36999999.99999999254942"
formatC(signif(foo,6),digits=22)[1] "36999999.99999999254942"
formatC(signif(foo,7),digits=22)[1] " 37000000"
The difference between foo and signif(foo,5) is large enough to make a practical difference:
signif(5.5e-7*foo,3)[1] 20.4
signif(5.5e-7*signif(foo,5),3)[1] 20.3
round(5.5e-7*foo,1)[1] 20.4
round(5.5e-7*signif(foo,5),1)[1] 20.3
(foo is a unit conversion factor; I shouldn't need to use signif() on it, but I was trying it as a workaround for another problem, and this came up. 5.5e-7 is a measurement whose units need to be converted)
While I'm at it, why is this?
format(0.037,dig=22)[1] "0.037"
formatC(0.037,dig=22)[1] "0.03699999999999999816813"
version
_ platform sparc-sun-solaris2.7 arch sparc os solaris2.7 system sparc, solaris2.7 status major 1 minor 6.2 year 2003 month 01 day 10 language R
Thanks -Don -- -------------------------------------- Don MacQueen Environmental Protection Department Lawrence Livermore National Laboratory Livermore, CA, USA --------------------------------------
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help
