Проверка, является ли переменная целым числом - PullRequest
128 голосов
/ 04 января 2011

Есть ли в Rails 3 или Ruby встроенный способ проверки, является ли переменная целым числом?

Например,

1.is_an_int #=> true
"dadadad@asdasd.net".is_an_int #=> false?

Ответы [ 11 ]

0 голосов
/ 13 августа 2014

У меня была похожая проблема, прежде чем пытаться определить, является ли что-то строкой или каким-либо другим числом. Я пытался использовать регулярное выражение, но это не надежно для моего варианта использования. Вместо этого вы можете проверить класс переменной, чтобы узнать, является ли он потомком класса Numeric.

if column.class < Numeric
  number_to_currency(column)
else
  column.html_safe
end

В этой ситуации вы также можете заменить любого из числовых потомков: BigDecimal, Date :: Infinity, Integer, Fixnum, Float, Bignum, Rational, Complex

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...