[R] Odp: Strange behaviour of as.integer()

Petr PIKAL petr.pikal at precheza.cz
Thu Jan 7 14:15:33 CET 2010


Hi

Maybe FAQ 7.31 strikes again.

> .57 * 100==as.integer(57)
[1] FALSE
>

Regards
Petr


r-help-bounces at r-project.org napsal dne 07.01.2010 13:31:42:

> I have encountered a strange behaviour of as.integer() which does not
> seem correct to me. Sorry if this is just an indication of me not
> understanding floating point arithmetic.
> 
> > .57 * 100
> [1] 57
> > .29 * 100
> [1] 29
> 
> So far, so good. But:
> 
> > as.integer(.57 * 100)
> [1] 56
> > as.integer(.29 * 100)
> [1] 28
> 
> Then again:
> 
> > all.equal(.57 * 100, as.integer(57))
> [1] TRUE
> > all.equal(.29 * 100, as.integer(29))
> [1] TRUE
> 
> This behaviour is the same in R 2.10.1 (Ubuntu and Windows) and 2.9.2
> (Windows),
> all 32 bit versions. Is this really intended?
> 
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list