반응형

이클립스(Eclipse)에서 자바로 BigDecimal 변수를 사용하여 divide를 할 때, Non-terminating decimal expansion; no exact representable decimal result. 이 에러가 발생했다.

 

사용한 코드는 아래와 같다.

BigDecimal형 변수인 A와 B를 0으로 정의하고, C라는 BigDecimal 변수형을 정의하여 A를 B로 나눴을 때 발생을 했다.

BigDecimal A = new BigDecimal(0);
BigDecimal B = new BigDecimal(0);

BigDecimal C = A.divide(B);

 

여기서 A를 B로 나눴을 때, 나눠 떨어졌으면 상관이 없다. 근데 소수점이 나올 경우에 문제가 생긴다.

 

예를 들어, A를 100으로 B를 6으로 했을 때 나누게 되면 16.6666... 이렇게 진행이 된다. 이 경우에는 위와 같이, 문제가 발생한다. 그렇기 때문에, 이 문제를 해결하기 위해 소수점 몇 번째 자리까지 정의를 할건지 정해줘야 한다.

BigDecimal A = new BigDecimal(0);
BigDecimal B = new BigDecimal(0);

BigDecimal C = A.divide(B,2);

 

위의 코드처럼, divide 안에 숫자를 넣은 곳에 소수점 몇 번째 자리까지 표현할건지 정해주면 위 문제는 발생하지 않는다.


2022년 07월 14일 v1.0 작성

반응형

'IT > 이클립스(Eclipse)' 카테고리의 다른 글

[이클립스/Eclipse] 이클립스(Eclipse) Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:mav..  (0) 2022.11.08
[이클립스/Eclipse] 이클립스(Eclipse) 프로젝트 SVN 연결하는 방법  (1) 2022.09.21
[이클립스/Eclipse] 이클립스(Eclipse) java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContextPublishing failed with multiple errorsCould not delete May be l..  (0) 2022.09.20
[이클립스/Eclipse] 이클립스(Eclipse) The project was not built since its build path is incomplete. Cannot find the class file for javax.servlet.http.HttpServletRequest. Fix the build path then try building this project 문제 해결 방법  (0) 2022.09.13
[이클립스/Eclipse] 이클립스(Eclipse) 및 스프링(Spring)에서 Redis 사용 코드 정리  (0) 2022.06.09
[이클립스/Eclipse] several ports(8005, 8080) required by test are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change..  (0) 2022.05.12
[이클립스/Eclipse] 이클립스(Eclipse) 콘솔(Console) 라인 수 늘리는 방법  (0) 2022.04.19
[이클립스/Eclipse] 이클립스(Eclipse) 빨간형광줄, 초록형광줄 지우는 방법  (0) 2022.04.04
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기