刚刚注意到R.中的这个错误。我猜这是代表0.6的方式,但是有人知道到底发生了什么?
根据R:
0.3 %% 0.2 = 0.1
0.4 %% 0.2 = 0
0.5 %% 0.2 = 0.1
**0.6 %% 0.2 = 0.2**
0.7 %% 0.2 = 0.1
0.8 %% 0.2 = 0
发生了什么事?
答案 0 :(得分:5)
除了@joshua Ulrich的评论
来自?'%%'
%%和x%/%y可用于非整数y,例如1%/%0.2,但结果受到表示错误的影响,因此可能与平台有关。因为0.2的IEC 60059表示是略大于0.2的二进制分数,1%/%0.2的答案应为4,但大多数平台给出5.
也类似于我们为什么得到这个
> .1 + .1 + .1 == .3
[1] FALSE
正如@Ben Boker指出的那样,你可能想要使用像这样的东西
> 3:8 %% 2 / 10
[1] 0.1 0.0 0.1 0.0 0.1 0.0