「教えて!ピックアップ」リリース!

$aに代入されているものが数値かどうかを判定するにはどのようにしたらよいのでしょうか?

A 回答 (3件)

$a =~ /^[0-9]*$/


上記の場合、*は「直前のパターンの0回以上の繰り返し」の意味なので、0から9がなくても、つまり$aが空でもマッチしてしまいます。
なので、
$a =~ /^[0-9]+$/
としましょう。
(+は「直前のパターンの1回以上の繰り返し」)
また、0-9は\dで表すこともできるので
$a =~ /^\d+$/
と書くこともできます。
    • good
    • 5

if ($a =~ /^[0-9]*$/) {


print "数値です";
} else {
print "数値ではありません";
}

すみません、下のは間違いでした。上が正解です。
    • good
    • 2

if ($a =~ /[0-9]/) {


print "数値です";
} else {
print "数値ではありません";
}

上のようにすれば可能です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング