본문 바로가기
IT/Java

자바 String 값 숫자인지 문자인지 확인하는 방법

by flatsun 2019. 8. 8.
반응형

111은 숫자지만

1AA1는 숫자가 아니다

 

하지만 숫자와 문자가 섞인 숫자를 String으로 받는다고 할 때

숫자만 구별해내는 방법이 있을까?

 

Double.parseDouble(String값);

을 사용하면 되는데

 

문자열을 Double 타입의 숫자로 바꿔버리는 것이다

(소수가 있는 경우에도 숫자이기 때문에..)

당연히 String에 문자가 들어가 있으면

Double type으로 바꿀 수 없어 Exception이 발생하게 되는데

 

여기서!! 메소드를 만들어 숫자인 경우에는 true를 넘겨주고

숫자가 아니어서 Exception이 발생한 경우에는 false를 넘겨주면

바로 숫자, 문자 판별이 가능하게 되는 것이다

 

예제는 다음과 같다

 

숫자인 111.22 를 String으로 넘겨주면 true로 출력이 되고

문자를 섞어 넣어주면 false가 출력되는 것이 보인다

 

전체 코드는 다음과 같으니 한번 테스트해 보려면 이걸 참고하면 된다

public class test {
	
	public boolean chkVal(String strVal) {
		try {
			Double.parseDouble(strVal);
			return true;
		} catch (Exception e) {
			return false;
		}		
	}

	public static void main(String[] args) {
		test t1 = new test();
		System.out.println(t1.chkVal("11A.22"));
	}
}
반응형

댓글