[Ruby]文字列(string)が数値か判定するには?

Ruby

どうも、ちょげ(@chogetarou)です。

文字列(string)が数値かどうか判定する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

文字列(string)が数値かどうか判定するには、rescueを使います。

まず、if文の条件式に、引数に文字列を指定したFloat()を指定します。

if文の条件式を満たす時、trueを返します。

そして、Float()の後に「rescue false」を記述します。

#text=対象の文字列
true if Float(text) rescue false

上記のコードは、呼び出した文字列(string)が数値ならば「true」、数値でなければ「false」を返します。

使用例

def is_numeric?(text)
    true if Float(text) rescue false
end

text1 = "ABCDEFGHI"
text2 = "1234"
text3 = "-123.4"

p is_numeric?(text1)
p is_numeric?(text2)
p is_numeric?(text3)
出力:
false
true
true

コメント

タイトルとURLをコピーしました