1 2 3 4 5 6 7 8 9 10 11 | public static boolean isNumber(String str) { // 숫자로 초기화 시킬 수 있는가 try { // Double.parseDouble(str); //이것으로 하면 (공백)12 를 숫자로 인식하게됨 Integer.parseInt(str); return true; } catch (NumberFormatException e) { return false; } } | cs |
어떠한 문자열을 받아서 이를 정수(숫자)로 변환 할수 있는 수인지 체크해야 되는경우가 있다
이 경우 위의 코드를 적용 하면 되는데 여기서
parseDouble 과 parseInt의 차이가 있다.
public static double parseDouble(String s) throws NumberFormatException {
return FloatingDecimal.parseDouble(s);
}
public static double parseDouble(String s) throws NumberFormatException {
return readJavaFormatString(s).doubleValue();
}
parseDouble은 내부적으로 함수에 trim 이 적용 되어
" 12" , "12 " 의 값을 true로 반환하여 반환될 수있다고 판정하지만
parseInt는 위 값들은 false로 반환하여 반환될 수없다고 판정한다.
자바공부<7> - JAVA IO (1) | 2018.07.24 |
---|---|
자바공부<6> - 컬렉션 프레임웍 (List,Set,Map,Hashing) (0) | 2018.07.17 |
자바공부<5> - 인터페이스 (1) | 2018.07.10 |
자바공부<4> - 다형성 (0) | 2018.07.09 |
자바공부<3> - 예외처리 (1) | 2018.07.03 |