본문 바로가기

Language/Java / JSP

[Java] 간단한 숫자체크

반응형


웹 개발을 할때 form 으로부터 전송받은 값이 숫자인지 체크해야 할 일이 종종 있다.
이럴때는 간단하게 숫자체크하는 메소드를 공통 클래스에 포함시켜 필요할때마다 호출해서 사용하면 편하다.

내가 주로 사용하는 숫자체크 방식은 Double.parseDouble 또는 Integer.parseInt를 활용하여 Exception을 통해 숫자여부를 판별한다.

구문상으로는 Exception에 걸린다는것은 잘못된 코드란 소리인데, 이것을 반대로 활용하여 숫자인지 아닌지 가려낸다.



다음은 Exception을 활용한 간단한 숫자체크 방법이다.

public class StringNumberCheck {

	public static void main(String[] args) {

		String str_1 = "가나다라" ;
		String str_2 = "523" ;
		String str_3 = "5.7" ;
		String str_4 = "-5" ;
		String str_5 = "-5.9" ;
		
		
		System.out.println(isNumber(str_1)) ;
		System.out.println(isNumber(str_2)) ;
		System.out.println(isNumber(str_3)) ;
		System.out.println(isNumber(str_4)) ;
		System.out.println(isNumber(str_5)) ;

		
	}
	
	
	
	
	
	public static boolean isNumber(String str){
		boolean result = false; 
		
		
		try{
			Double.parseDouble(str) ;
			result = true ;
		}catch(Exception e){}
		
		
		return result ;
	}
	
	
	
	

}




위의 소스는 숫자일경우 true, 아닐경우 false를 반환한다.
Double.parseDouble을 사용한 이유는 정수를 포함하여 실수까지 확인하기 위해서이다.