首页 > 解决方案 > R没有正确计算余数

问题描述

我有一个分子和分母的列表,我想看看分子是否可以被分母整除(即余数为零),请参见 R 中的数据集,如下所示:

structure(list(numerator = c(40.77, 38.88, 117.6, 
                         591.9, 592.9, 165.2, 164.1, 568.8, 802.8, 11.4, 862.6, 106.4, 
                         583.872, 4.44, 5.61, 25.4, 3.9, 29.2, 19.2),
           denominator = c(0.09, 
                           0.09, 0.1, 0.1, 0.1, 0.1, 0.1, 3.6, 3.6, 3.8, 3.8, 3.8, 0.024, 
                           0.03, 0.03, 0.1, 0.1, 0.1, 0.1)), 
      class = c("tbl", "data.frame"), 
      row.names = c(NA, -19L), 
      .Names = c("numerator", 
                 "denominator")) %>%
mutate(quotient=numerator%/%denominator,
       remainder=numerator%%denominator)

我发现所有行都计算了余数,但这不应该,因为例如 5.61 应该能被 0.1 整除。

我不知何故听说这与“流动数字”相关的问题有关,但我对此只有一个模糊的想法,有人可以:

  1. 解释为什么会发生这种情况(我没有受过计算机科学培训,抱歉问了一些愚蠢的问题)

  2. 我怎样才能解决这个问题?

谢谢!

标签: rdivision

解决方案


推荐阅读