以下示例中的第三行代码给出11,而所有其他行给出12。为什么会发生这种情况?如果有原因,有什么办法可以解决?
> .03 %/% 0.0025
[1] 12
> .03 / 0.0025
[1] 12
> .3 %/% 0.025
[1] 11
> .3 / 0.025
[1] 12
> 3 %/% 0.25
[1] 12
> 3 / 0.25
[1] 12
这种情况发生在多个数字上,
> 0.35 %/% 0.025
[1] 13
> 0.35 / 0.025
[1] 14
> 0.85 %/% 0.025
[1] 33
> 0.85 / 0.025
[1] 34
> 0.425 %/% 0.025
[1] 16
> 0.425 / 0.025
[1] 17
> 0.975 %/% 0.025
[1] 38
> 0.975 / 0.025
[1] 39
答案 0 :(得分:1)
我不确定,但是评论太久了。来自?"%%"
:
%%和x%/%y可以用于非整数y,例如1%/%0.2,但 结果受制于表述错误,因此可能是 与平台有关。因为IEC 60059的0.2表示 二进制分数略大于0.2,答案为1%/%0.2 应该为4,但大多数平台都为5。