parseDouble과 parseInt의 구조적 차이 (판정 유무)

Posted by oimb
2018. 7. 12. 15:14 JAVA





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로 반환하여 반환될 수없다고 판정한다.




'JAVA' 카테고리의 다른 글

자바공부<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
이 댓글을 비밀 댓글로
    • 호이짜
    • 2018.07.29 00:15
    ㅋㅋㅋ 굉장히 오래전에 알고 있던 지식인데 까먹고있다가 새롭게 상기되었어요