Вы можете использовать
12.is_a? Numeric
(Numeric
будет работать для целых чисел и чисел с плавающей точкой.)
Если оно приходит в виде строки, которая может содержать представление действительного числа, вы можете использовать
class String
def valid_float?
true if Float self rescue false
end
end
, а затем '12'.valid_float?
вернет true, если вы можете преобразовать строку в допустимое число с плавающей точкой (например, с to_f
).