반응형
매출, 회계 등 금액적인 부분에 대한 개발을 하다 보면
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 |