BigDecimal 클래스
- java.math 패키지에 있으며 정확한 실수끼리의연산을 위한 클래스
- 정확한 실수끼리의 연산을 위한 클래스
- 주요메소드
리턴타입 / 메소드명 및 설명
BigDecimal / abs() : 절대값으로 리턴
BigDecimal / add(BigDecimal val) : BigDecimal끼리의 덧셈
BigDecimal / divide(BigDecimal val) : BigDecimal끼리의 나눗셈
double / doubleValue() : BigDecimal를 double형 데이터로 변환
float / floatValue() : BigDecimal를 float형 데이터로 변환
int / intvalue() : BigDecimal를 int형 데이터로 변환
long / longValue() : BigDecimal를 long형 데이터로 변환
BigDecimal / mod(BigDecimal m) : BigDecimal끼리의 나머지 연산
BigDecimal / multiply(BigDecimal val) : BigDecimal끼리의 곱셈
BigDecimal / pow(int exponent) : BigDecimal의 exponent거듭제곱
BigDecimal / subtract(BigDecimal val) : BigDecimal 뺄셈
.
.
double형 실수를 계산할 때 소수점 아래로 정리되지않는 숫자들이 나오는 경우가 있다.
이런 경우를 대비해서 BigDecimal이라는 클래스를 이용한다.
.
.
예제
import java.math.*;
class DoubleBigDecimal{
public static void main(String[] args) {
double d1 = 1.6, d2 = 0.1;
System.out.println("두 실수의 덧셈 : " + (d1 + d2)); // 1.7000000000000002
System.out.println("두 실수의 곱셈 : " + (d1 * d2)); // 0.16000000000000003
BigDecimal d3 = new BigDecimal(1.6);
BigDecimal d4 = new BigDecimal(0.1);
System.out.println("두 실수의 덧셈 : " + d3.add(d4)); // 1.7000000000000000943689570931383059360086917877197265625
System.out.println("두 실수의 곱셈 : " + d3.multiply(d4)); // 0.16000000000000001776356839400250513981617245258550338233035330174139354575402194313937798142433166503
BigDecimal d5 = new BigDecimal("1.6");
BigDecimal d6 = new BigDecimal("0.1");
// BigDecimal인스턴스 생성시 반드시 문자열로 실수를 입력해야 함
System.out.println("두 실수의 덧셈 : " + d5.add(d6)); // 1.7
System.out.println("두 실수의 곱셈 : " + d5.multiply(d6)); // 0.16
}
}
'Java > 본격 Java 기타클래스' 카테고리의 다른 글
[Java] StringTokenizer 클래스 (0) | 2020.07.02 |
---|---|
[Java] 랜덤 클래스 - 로또 번호 만들기 (0) | 2020.07.02 |
[Java] Math 클래스 (0) | 2020.07.02 |
[Java] BigInteger 클래스 (0) | 2020.07.02 |
[Java] Wrapper클래스 (0) | 2020.07.02 |