본문 바로가기
[개발] Programming/Java

자바 BigDecimal to int, 값 비교하는 방법

by eatyourKimchi 2019. 6. 12.

 

 

오라클에서 COUNT를 사용하면 해당 컬럼의 데이터 타입은 bigdecimal로 리턴된다. 그렇게 되면 해당 값으로 컨트롤러 단에서 int 값과 바로 비교할 수 없게 된다. 이 경우 우선 bigdecimal의 int 값을 구해서 비교를 해주면 해결된다.

 

사용 함수: intValue();

 

예시, 

1
2
3
testVo vo = new TestVo();
 
tmp = vo.getCnt();
cs

 

 

데이터 세트 testVo에 cnt라는 bigdecimal 변수가 있다고 가정, 이 값이 int 형인 0보다 큰지 비교하고 싶은 경우. cnt의 int 값을 구해야 된다.

 

아래 예제를 보면 첫 번째 if 조건문에서는 타입이 일치하지 않아 오류가 발생하며, 두 번째 if 조건문의 경우 bigdecimal을 int로 변환하였기 때문에 오류가 발생하지 않는다.

 

1
2
3
4
5
6
7
8
if(vo.getCnt() > 0){
  // 데이터 타입이 서로 일치하지 않아 오류가 발생한다.
}
 
// cnt의 데이터 타입을 바꿔주면 해결!
if(vo.getCnt().intValue() > 0){
  // 데이터 타입이 서로 일치하지 않아 오류가 발생한다.
}
cs

 

 

 

 

댓글