상세 컨텐츠

본문 제목

[JAVA] BigDecimal - 정확한 소수 표현

JAVA Language

by mobile 2012. 7. 28. 19:53

본문

반응형

▶ BigDecimal 객체는 내부적으로 소수점의 처리를 정수 스타일로 연산해서 결과를 반영합니다.

import java.math.BigDecimal;


public class ClassTest {

public static void main(String[] args) {

BigDecimal ba = new BigDecimal(10);

BigDecimal bb = new BigDecimal(3);

BigDecimal result = ba.divide(bb, 5, BigDecimal.ROUND_DOWN);

System.out.println(result);

}

}

결과

3.33333


▶ 일반연산과 BigDecimal을 이용하는 연산

import java.math.BigDecimal;

import java.math.MathContext;


public class ClassTest {

public static void main(String[] args) {

long l = 12345678;

double d = l;

System.out.println(d);

System.out.println(d + 1.23);

System.out.println("-------------------------------");

BigDecimal b1 = new BigDecimal(12345678);

BigDecimal result = b1.add(new BigDecimal(1.23), new MathContext(10)); // 10개까지 정확하게 연산

System.out.println(result);

}

}

결과

1.2345678E7

1.234567923E7

-------------------------------

12345679.23



반응형

관련글 더보기

댓글 영역