DOUBLE1 Java 부동소수점 계산시 정확한 계산을 위해 왜 BigDesimal을 사용해야하는가? 오늘은 부동소수점 계산을 정확하게 하려면 왜 BigDesimal을 사용해야 하는지에 대해 한번 생각해 보겠습니다.부동소수점 정확도를 고민하게된건 회사에서 결제 서비스를 도입할 때였습니다.고객이 사용한 금액에 대해 수수료율을 계산하여 결제할 금액을 결정할 때 고객이 사용한 금액이 10원 단위로 딱 떨어지지도 않고 수수료율도 22%였기 때문에 double 자료형으로 수수료율을 계산하게 된다면 나머지가 남게 되어 순환소수가 발생해 버려 근삿값 2진수로 처리되어 오차가 발생할 여지 때문이었습니다.물론 큰 오차는 아니지만 회계, 세법 처리에 있어서 결제금액이 커질수록 작아 보이는 오차도 큰 금액이 되기 때문에 정확한 계산이 필요했었습니다.그래서 정확한 소수점계산을 위해 Java5에서 IBM의 기부로 완성된 Bi.. 2025. 2. 10. 이전 1 다음