Java

[Java] 기본 API 클래스⑤ BigDecimal 클래스

망고고래 2024. 4. 3. 16:15

what?

정확한 소수점 연산을 할 때 사용하는 클래스

why?

double과 long으로 소수점 연산을 할 때 오차가 발생할 수 있음. 이를 보완

how?

1)생성

double 또는 long 타입 변수를 문자열로 변환한 뒤 BigDecimal 클래스 생성자에 파라미터로 넣어 생성

double a = 53.56743;
BigDecimal number = new BigDecimal(String.valueOf(a));

 

2)값 계산

double a = 24.3953;
double b = 50.343998;
System.out.println(a+b);
//74.7392979999999

BigDecimal number = new BigDecimal(String.valueOf(a));
BigDecimal number2 = new BigDecimal(String.valueOf(b));
System.out.println(number.add(number2));
//74.739298