スポンサーリンク
Javaで数値判定する方法はいくつかあるが、ここでは正規表現で判定する方法。
public boolean isNumber(String num){ if(Pattern.matches("^[1-9]?[0-9]+$", num)){ return true; } return false; }
ポイントは、Pattern.matches([正規表現], [チェックする文字列])。
上記の例では単純な整数をチェックしている。
少数、負数を考慮すると以下になる。
public boolean isNumber(String num){ if(Pattern.matches("^-?[0-9]*.?[0-9]+$", num)){ return true; } return false; }
正規表現の説明をすると
^:行頭
[1-9]:1から9のいずれかの数値
?:直前の文字列が0か1回
[0-9]:0から9のいずれかの数値
+:直前の文字列を1回以上
*:直前の文字列を0回以上
$:行末
2017/03/13 追記
Stringクラスのmathesメソッドを使うと、より簡潔に正規表現チェックが可能。
str.matches([正規表現]);
スポンサーリンク
スポンサーリンク