r - 在 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,但结果会出现表示错误,因此可能与平台有关。因为 0.2 的 IEC 60559 表示是略大于 0.2 的二进制分数,所以 1 %/% 0.2 的答案应该是 4,但大多数平台给出 5。
推荐阅读
- django - 如何修改 AWS 静态文件的 Django 设置以适应 django summernote
- javascript - 如何从某个数组进行插入验证?
- latex - Latex 无法添加作者
- curl - Curl - 如何捕捉空响应
- ruby-on-rails - 将从 Factory Bot 返回的参数包装在另一个参数中
- arrays - 无法快速访问 JSON 中的嵌套数组中的数据
- sql - SQL如何将多个属性添加到按功能分组
- javascript - 从数组中过滤掉奇数,然后返回索引位置
- java - Java Swing 偶尔会给出 NullPointerExceptions,但没有指明它在我的代码中发生的位置
- c# - ASP.NET Core(在 IIS 上)PDF 文件缺少最后一个字节