我想检查数字是否为偶数!
我尝试了以下方法:

a = 4.0
a.is_a? Integer

=> false

a.even?

=> undefined method for Float

那么如何检查数字是否为偶数呢?

最佳答案

如果您不确定您的变量是否在小数点后有任何内容,并且想在转换为整数以检查奇数/偶数之前进行检查,您可以执行以下操作:

a = 4.6
b = 4.0

puts a%1==0 && a.to_i.even? #=> false
puts b%1==0 && a.to_i.even? #=> true

此外,如果您想创建一个偶数? Float类的方法:
class Float
  def even?
    self%1==0 && self.to_i.even?
  end
end

a = 4.6
b = 4.0

a.even? #=> false
b.even? #=> true

关于Ruby 检查偶数,浮点数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18163475/

10-12 22:42