【Java】文字列が数値かどうかチェックする方法

Java

今回の記事ではJavaのString型の文字列が数値であるかどうかをチェックする方法について解説していきます。

チェックする方法には様々な方法がありますが、今回は正規表現を使う方法とCharacterのisDegitメソッドを利用した方法を実際のコードを用いて解説します。
ぜひ最後まで読んでいってください!

正規表現を使って文字列が数値かどうかチェックする

まずは正規表現を使って文字列が数値かどうかチェックする方法について解説していきます。
正規表現を使う方法では整数だけ許容する方法や正の数だけ許容する方法など様々な方法がありますが、今回は正と負の整数である場合にtrueを返すようなチェックをしていきます。

サンプルコード

import java.util.regex.Pattern;

public class IsNumber {

	public static void main(String[] args) {
		
		// チェック対象の文字列
		String text1 = "123a";
		String text2 = "1234";
		
		// 検証結果を格納する変数
		boolean result = true;
		
		// text1をチェックして結果を取得
		result = checkString(text1);
		System.out.println("text1: " + result);
		
		// text2をチェックして結果を取得
		result = checkString(text2);
		System.out.println("text2: " + result);
	}
	
	// 引数で受け取った文字列が数値かどうか正規表現でチェックするメソッド
	public static boolean checkString(String text) {
		
		boolean res = true;
		
		Pattern pattern = Pattern.compile("^[0-9]+$|-[0-9]+$");
		res = pattern.matcher(text).matches();
		
		return res;
	}
}

実行結果

text1: false
text2: true

今回は正と負の整数のみtrueを返すチェックです。
チェックしたい内容によって正規表現を変更する必要があります。

Character.isDigitメソッドを使って文字列が数値かどうかチェックする

次にCharacter.isDigitメソッドを使って文字列が数値かどうかチェックする方法について解説します。

Character.isDigitメソッドは引数にchar型の値を渡すことで数値かどうかチェックすることができます。
これを利用して文字列を先頭から1文字ずつチェックし、文字列全体が数値かどうかチェックします。
実際のコードを確認は次のようになります。

サンプルコード

public class IsNumber {

	public static void main(String[] args) {
		
		// チェック対象の文字列
		String text1 = "1234";
		String text2 = "123a";
		
		// 検証結果を格納する変数
		boolean result = true;
		
		// text1をチェックして結果を取得
		result = checkString(text1);
		System.out.println("text1: " + result);
		
		// text2をチェックして結果を取得
		result = checkString(text2);
		System.out.println("text2: " + result);
	}
	
	// 文字列が数値かどうかチェックする関数
	public static boolean checkString(String text) {
		
		boolean res = true;
		
		// 受け取った文字列を先頭から1文字ずつチェックする
		for(int i = 0; i < text.length(); i++) {
			
			// もし数値だったら次の処理へ
			if(Character.isDigit(text.charAt(i))) {
				continue;
			} else {
				// 変数にfalseを代入して処理を終了する
				res =  false;
				break;
			}
		}
		
		return res;
	}
}

実行結果

text1: true
text2: false

今回はJavaで文字列が数値かどうかチェックする方法について解説しました。
Javaで文字列が数値かどうかチェックする方法にはいろいろな種類がありますが、今回は正規表現でチェックする方法とCharacter.isDigitメソッドを使う方法について解説しました。

プログラミング初心者からWebアプリを開発できるようになってエンジニアに就職・転職するまでの学習手順をまとめた記事もあります!
こちらもぜひご覧ください!!

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