在R中使用round(x,2)时的有趣结果

  • 本文关键字:结果 round r
  • 更新时间 :
  • 英文 :

> x <- 1:9
> y <- x + 0.055000
> z <- round(y,2)
> cat(z)
1.05 2.06 3.06 4.05 5.05 6.05 7.05 8.05 9.05

在数字2和3上,它四舍五入到2.06和3.06。其他数字四舍五入到.05。我想知道为什么?如果我加0.0550001而不是0.055000,那么所有值都会舍入到.06。

这种情况发生在我的Mac(Sierra(和PC(Win10/Edu(上。我在两者上都运行R 3.5.1。

谢谢。

很好地发现了这一点,事实上这不是我所期望的。CCD_ 1解决了这个问题。

> cat(z)
1.06 2.06 3.06 4.06 5.06 6.06 7.06 8.06 9.06

最新更新