どうも、ちょげ(@chogetarou)です。
文字列(string)が数値かどうか判定する方法を紹介します。
方法

文字列(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
コメント