본문 바로가기

- Java

BigDecimal

반응형

매출, 회계 등 금액적인 부분에 대한 개발을 하다 보면
BigDecimal을 사용하게 됩니다

JAVA에서 숫자를 가장 정밀하게 저장하고 표현할 수 있는 장점을 가지고 있습니다
저는 보통 소수점보다는 금액을 처리할 때 주로 사용합니다

다만, 속도가 느리다는 단점과 처음 사용할 때 사용법이 기본 자료형들과는 상이한 부분이 어색하게 느껴졌습니다

 

초기화

BigDecimal은 아래와 같이 초기화하여 사용할 수 있습니다

 

 

다만 BigDecimal은 실수를 표현할 때 문자열로 초기화하지 않으면 아래와 같이 경고를 발견할 수 있습니다

그래서 valueTest를 선언한 것과 같이 valueOf나 ""와 같이 문자열로 초기화해야 합니다.

 

 

연산

BigDecimal은 객체이기 때문에 주소값을 비교하는 연산자인 ==을 사용하면 아래와 같이 경고를 발견할 수 있습니다.

 

아래와 같이 대상의 값을 비교하는 연산자인 equals를 사용하여 비교할 수 있습니다.

 

equals와 ==의 차이를 모르시는 분은 이전 글을 참고해주세요.

https://halfstorage.tistory.com/44

 

사칙연산은 아래와 같습니다.

 

 

나누기 같은 경우는 반올림이나 올림 등을 설정해주지 않으면,

BigDecimal에서 표현할 수 있는 범위를 넘어설 수도 있다고 경고를 출력합니다.

 

 

 

반응형

'- Java' 카테고리의 다른 글

Map to Json, Json to Map + ObjectMapper + Gson  (0) 2020.07.17
SimpleDateFormat 사용법 및 UTC 관련  (0) 2020.06.29
CBV(Call By Value), CBR(Call By Reference)  (0) 2020.06.26
Java Nested class  (0) 2020.06.23
JAVA 변수, static, final 이론  (0) 2020.06.21