도쿄사는 외노자

BigDecimal계산식의 Divide 오류 해결 본문

Tech/iReport

BigDecimal계산식의 Divide 오류 해결

Enrai 2015. 12. 11. 09:55

((請求金額+付替金額)-支払金額)/(請求金額+付替金額)*100

의 계산으로 소수점 2자리까지 출력하는 계산을 해야 하는 상황.

계산 자체는 언제나처럼 BigDecimal을 이용하였는데,

기존 레포트 테스트에서와는 달리, JAVA와 연결한 PT에서 오류가 발생했다.


이유를 확인해 보니,

請求金額+付替金額가 0인 경우, 0으로 나눌 수 없다는 오류가 발생하는 것.


결국 해결한 방법은 분기를 넣는 것으로, 

(請求金額+付替金額)-支払金額)이나 (請求金額+付替金額)가 0인 경우

그냥 리턴치를 0으로 돌려 버리는 것.

NULL체크 등도 해야 하기에, 코드가 조금 길어졌다.



'Tech > iReport' 카테고리의 다른 글

Property의 적용  (0) 2015.12.22
Error retrieving field value from bean  (0) 2015.12.16
Creating JasperReport with subreports using datasource  (0) 2015.10.29
NoSuchMethodException: Unknown property ' '  (0) 2015.10.29
DB(PostgreSQL) 연결  (0) 2015.10.22