目次
はじめに
Javaで数値チェックを実装する方法を紹介します。
数値チェックといっても「正の数」「負の数」「小数を許容するか」「小数を許容しないか」など、細かい条件によりチェック方法が異なります。
本記事では、「正規表現」を使い様々なパターンの数値チェックを実装しています。
スポンサーリンク
正規表現による整数チェック
整数チェック
整数チェックは以下の通り。
/** * 数値(整数)チェック * @param value 検証対象の値 * @return 結果(true:数値、false:数値ではない) */ public static boolean isNumber(String value) { boolean result = false; if (value != null) { Pattern pattern = Pattern.compile("^[0-9]+$|-[0-9]+$"); result = pattern.matcher(value).matches(); } return result; }
上記の関数は「0」「正の整数」「負の整数」のみ「true」を返却します。
System.out.println("数値以外:" + isNumber("a")); System.out.println("0:" + isNumber("0")); System.out.println("正の整数:" + isNumber("123")); System.out.println("負の整数:" + isNumber("-123")); System.out.println("正の小数:" + isNumber("123.1")); System.out.println("負の小数:" + isNumber("-123.1"));
【実行結果】
- 数値以外:false
- 0:true
- 正の整数:true
- 負の整数:true
- 正の小数:false
- 負の小数:false
正の整数チェック
正の整数チェックは以下の通り。
/** * 数値(正の整数)チェック * @param value 検証対象の値 * @return 結果(true:数値、false:数値ではない) */ public static boolean isNumber2(String value) { boolean result = false; if (value != null) { Pattern pattern = Pattern.compile("^[0-9]+$"); result = pattern.matcher(value).matches(); } return result; }
上記の関数は「0」「正の整数」のみ「true」を返却します。
System.out.println("数値以外:" + isNumber2("a")); System.out.println("0:" + isNumber2("0")); System.out.println("正の整数:" + isNumber2("123")); System.out.println("負の整数:" + isNumber2("-123")); System.out.println("正の小数:" + isNumber2("123.1")); System.out.println("負の小数:" + isNumber2("-123.1"));
【実行結果】
- 数値以外:false
- 0:true
- 正の整数:true
- 負の整数:false
- 正の小数:false
- 負の小数:false
負の整数チェック
負の整数チェックは以下の通り。
/** * 数値(負の整数)チェック * @param value 検証対象の値 * @return 結果(true:数値、false:数値ではない) */ public static boolean isNumber3(String value) { boolean result = false; if (value != null) { Pattern pattern = Pattern.compile("^-[0-9]+$"); result = pattern.matcher(value).matches(); } return result; }
上記の関数は「負の整数」のみ「true」を返却します。
System.out.println("数値以外:" + isNumber3("a")); System.out.println("0:" + isNumber3("0")); System.out.println("正の整数:" + isNumber3("123")); System.out.println("負の整数:" + isNumber3("-123")); System.out.println("正の小数:" + isNumber3("123.1")); System.out.println("負の小数:" + isNumber3("-123.1"));
【実行結果】
- 数値以外:false
- 0:false
- 正の整数:false
- 負の整数:true
- 正の小数:false
- 負の小数:false
正規表現による数値チェック
スポンサーリンク
数値チェック
数値チェックは以下の通り。
/** * 数値(整数または小数)チェック * @param value 検証対象の値 * @return 結果(true:数値、false:数値ではない) */ public static boolean isDecimal(String value) { boolean result = false; if (value != null) { Pattern pattern = Pattern.compile("^([1-9]\\d*|0)(\\.\\d+)?$|^(-[1-9]\\d*|0)(\\.\\d+)?$"); result = pattern.matcher(value).matches(); } return result; }
上記の関数は数値(正と負の整数 または 正と負の小数)であれば「true」を返却します。
System.out.println("数値以外:" + isDecimal("a")); System.out.println("0:" + isDecimal("0")); System.out.println("正の整数:" + isDecimal("123")); System.out.println("負の整数:" + isDecimal("-123")); System.out.println("正の小数:" + isDecimal("123.1")); System.out.println("負の小数:" + isDecimal("-123.1"));
【実行結果】
- 数値以外:false
- 0:true
- 正の整数:true
- 負の整数:true
- 正の小数:true
- 負の小数:true
正の数チェック
正の数チェックは以下の通り。
/** * 正の数(整数または小数)チェック * @param value 検証対象の値 * @return 結果(true:数値、false:数値ではない) */ public static boolean isDecimal2(String value) { boolean result = false; if (value != null) { Pattern pattern = Pattern.compile("^([1-9]\\d*|0)(\\.\\d+)?$"); result = pattern.matcher(value).matches(); } return result; }
上記の関数は「0」「正の整数」「正の小数」のみ「true」を返却します。
System.out.println("数値以外:" + isDecimal2("a")); System.out.println("0:" + isDecimal2("0")); System.out.println("正の整数:" + isDecimal2("123")); System.out.println("負の整数:" + isDecimal2("-123")); System.out.println("正の小数:" + isDecimal2("123.1")); System.out.println("負の小数:" + isDecimal2("-123.1"));
【実行結果】
- 数値以外:false
- 0:true
- 正の整数:true
- 負の整数:false
- 正の小数:true
- 負の小数:false
負の数チェック
負の数チェックは以下の通り。
/** * 負の数(整数または小数)チェック * @param value 検証対象の値 * @return 結果(true:数値、false:数値ではない) */ public static boolean isDecimal3(String value) { boolean result = false; if (value != null) { Pattern pattern = Pattern.compile("^(-[1-9]\\d*|0)(\\.\\d+)?$"); result = pattern.matcher(value).matches(); } return result; }
上記の関数は「負の整数」「負の小数」のみ「true」を返却します。
System.out.println("数値以外:" + isDecimal3("a")); System.out.println("0:" + isDecimal2("0")); System.out.println("正の整数:" + isDecimal3("123")); System.out.println("負の整数:" + isDecimal3("-123")); System.out.println("正の小数:" + isDecimal3("123.1")); System.out.println("負の小数:" + isDecimal3("-123.1"));
【実行結果】
- 数値以外:false
- 0:true
- 正の整数:false
- 負の整数:true
- 正の小数:false
- 負の小数:true
最後に
本記事ではJavaで数値チェックを実装する方法を紹介しました。
【関連記事】
- Javaで数値チェックを実装する方法
- Javaで日付チェックを実装する方法
- Javaで時刻チェックを実装する方法
- Javaでメールアドレスのチェックを実装する方法
- Javaで郵便番号のチェックを実装する方法
- Javaで全角カナのチェックを実行する方法
- Javaで半角カナのチェックを実装する方法
- Javaでひらがなのチェックを実装する方法
- Javaで英字のチェックを実装する方法
helpful
この記事は役に立ちましたか?