System.out.println("Hello, World");

BigDecimal
java.Math.BigDecimal - double로 표현이 안되는 부동소수점(실수)로 표현
              BigInteger  - long으로 표힌이 안되는 정수를 표현

BigDecimal의 생성
new BigDecimal("10.5");
BigDecimal 사용 예
import java.math.BigDecimal;
public class BigDecimalTest {
    public static void main(String[] args) {
        System.out.println(2.00 - 1.10); // 0.9나와야 하는데 0.899999999 나옴
        BigDecimal b1 = new BigDecimal("2.00");
        BigDecimal b2 = new BigDecimal("1.10");
        System.out.println(b1.subtract(b2)); // 제대로 나옴
    }
}
BigDecimal 나눗셈시 주의사항
- 나눗셈 계산이 끝나지 않고 무한히 반복될때(무한소수)exception이 발생하므로 표기할 자리수와 처리방식을 정해주어야 함.
import java.math.BigDecimal;
public class BigDecimalTest {
	public static void main(String[] args) {
		System.out.println(2.00-1.10);
		BigDecimal d1 = new BigDecimal("2.00");
		BigDecimal d2 = new BigDecimal("1.10");
		//+:add(), -:subtract(), / : divide(), *:multiply
		BigDecimal result = d1.subtract(d2);
		double d = result.doubleValue();
		System.out.println(result +" :"+d);
		//첫번째 인수 : 나눌수, 2번째 인수는 scale : 소수점이하 몇 자리까지, 3번째는 소수점 이하 처리 방식
		result = d1.divide(d2,3,BigDecimal.ROUND_CEILING);//소수점자리 3자리까지 반올림처리
		System.out.println("나눈결과 : "+result);
	}
}
Posted by 김마농