R

时间:2019-01-22 05:38:18

标签: r

以下示例中的第三行代码给出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

1 个答案:

答案 0 :(得分:1)

我不确定,但是评论太久了。来自?"%%"

  

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