본문 바로가기
프로그래밍/JAVA

[JAVA] 자바 문자열이 숫자인지 체크하기(숫자입력체크)

by 천상IT 2021. 12. 27.
반응형

자바에서 문자열이 숫자인지 체크하는 방법 즉, 숫자만 입력받고 싶은 경우에 가장 많이 사용되는

체크하는 두가지 방법에 대해 알려드리겟습니다.

 

Java에서 문자열이 숫자인지 확인하는 방법을 소개하고자 몇 가지 예제 코드를 공유드립니다.

 

첫번째 방법은 입력받은 문자열의 문자하나하나를 체크하여 숫자인지 확인하는 방법입니다.

숫자의 아스키코드값 0(48)-9(57)을 체크하여 숫자인지 확인할 수 있습니다.

    //숫자체크
    public static boolean isNumberChk(String str){

        if(str == null || str.equals("")) {
            return false;
        }

        for(int i = 0 ; i < str.length() ; i++){
            char c = str.charAt(i);
            // 숫자가 아니라면 false 0:48 - 9:57
            if(c < 48 || c > 57){
               return false;
            }

        }
        return true;
    }

 

두번째 방법은 Character.isDigit(Char c) 메서드를 사용하여 숫자여부를 체크할 수도 있습니다.

    //숫자체크
    public static boolean isNumberChk(String str){

        if(str == null || str.equals("")) {
            return false;
        }

        for(int i = 0 ; i < str.length() ; i++){
            char c = str.charAt(i);

            if(!Character.isDigit(c)){
                return false;
            }
        }
        return true;
    }

 

 

세번째 방법은 Apache 라이브러리의 StringUtils.isNumeric() 메세드를 사용하는 방법입니다. 

import org.apache.commons.lang3.StringUtils;

public class isNumberChk {

    public static void main(String[] args) {
        String str = "1123";
        boolean isNumeric = StringUtils.isNumeric(str);
        System.out.println(isNumeric);
        str = "123xyz";
        isNumeric = StringUtils.isNumeric(str);
        System.out.println(isNumeric);
    }
}

출력:

true
false

 

위 소스 중 아무거나 편한 것을 가져다 쓰시면 됩니다~

반응형

댓글