Study/Java

이진소수점 계산할 때..

유쾌한순례자 2010. 12. 8. 11:08
자바퍼즐러 퍼즐2

결론 : 정확한 답을 요구하는 곳에서는 float 타입과 double 타입을 피하고 금전 계산에서는 int,long 또는 BigDecimal

을 사용할 것.

public class Change{
public static void main(String args[]){

System.out.println(new BigDecimal("2.00").subtract(new BigDecimal("1.10"));
}

위의 식에서 System.out.println(2.00 - 1.10) 을 그대로 할 경우 이진부동소수점 계산이 되기 때문에..

근사값으로 계산되기 때문에 BigDecimal을 이용함.

※ BigDecimal(double)이 아닌 BigDecimal(String) 생성자를 사용하자.