본문 바로가기
웹/Java

정확한 숫자 계산을 위한 BigDecimal 클래스

by 브래드.권 2016. 7. 6.

 

 

컴퓨터의 특성으로 인해 float 이나 double 은 실수 연산시 정확한 결과가 나오지 않는다.(근사치를 출력)

하지만 BigDecimal 을 이용하면 계산은 조금 번거롭지만 정확한 결과를 볼 수 있다.

 

BigDecimal 의 생성자는 여러가지가 있지만, 가장 정확한 계산을 하려면 문자열을 받는 생성자를 사용해야 한다. BigDecimal(String) 실수형 인자를 사용하면 정확한 계산의 의미가 없어진다.

 

장점: 숫자를 나타내는 정확한 방법.

단점: 느리고 계산이 조금 번거롭다.

 

돈이나, 수치가 중요한 경우에는 BigDecimal 을 그렇지 않은 경우 double 이 좋은 경우가 많다.

 

BigInteger 의 경우 int 나 long 형의 최대치를 초과하는 범위 외에는 큰 메리트가 없다. 정수 연산은 일반 자료형인 int 나 long 도 오류가 없기 때문이다.