Resolved [java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.]

x·2023년 1월 31일
0

Resolved [java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.]

Int형을 BigDecimal로 바꿨을 때 에러가 남

x.divide(price, 10, BigDecimal.ROUND_HALF_UP); divide쪽에서 에러가 났다면 이런식으로 명확히 scale과 roundingMode(올림, 내림, 반올림)을 지정하면 해결되는 경우가 있음.

new BigDecimal(1 - 0.1) 이렇게 하면 0.90000000000000002220446049250313080847263336181640625 이런 값이 나와버리므로 BigDecimal.valueOf(1 - 0.1)로 처리해야 0.9가 나옴

0개의 댓글