R舍入解释

use*_*240 5 r

任何人都可以解释为什么这会给出不同的输出?

round(1.49999999999999)
1


round(1.4999999999999999)
2
Run Code Online (Sandbox Code Playgroud)

我已经阅读了圆形文档,但它没有提到它的任何内容.我知道R代表二进制形式的数字,但为什么增加两个额外的9会改变结果呢?

谢谢.

Den*_*nis 7

1.4999999999999999无法在内部表示,因此它将四舍五入1.5.

现在,当您申请时round(),结果是2.

  • @ user557240在这方面,R没有什么特别之处. (5认同)