在R中,为什么%%对十进制数的行为不同?

在 R 中,我想检查一个数字是否是另一个数字的倍数。这适用于整数

> 124%%1
[1] 0
> 124%%2
[1] 0

但对于某些神秘的原因不与十进制数字很好地工作,任何想法,为什么1.05%%0.05不是0?

> 0.05%%0.05
[1] 0
> 1.05%%0.05
[1] 0.05

回答

根据 ?"%%"

%% 和 x %/% y 可用于非整数 y,例如 1 %/% 0.2,但结果受制于表示错误,因此可能与平台有关。因为 IEC 60559 表示 0.2 是一个略大于 0.2 的二进制分数,所以 1%/% 0.2 的答案应该是 4,但大多数平台给出 5。


以上是在R中,为什么%%对十进制数的行为不同?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>