그래서 BigDecimal은 1/3에 대한 답처럼 무한대로 계속되는 숫자를 저장하는 것처럼 보이지 않습니다. 나는 것을 시도했을 때, 나는 다음과 같은 얻을 : BigDecimal Rounding
Exception in thread "main" java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
그래서 내가
RoundingMode
를 사용하기로 결정했다. 내가
(1/3)*3
을 할 때, 나는 그것이 1로 되돌아 가기를 원하고, 0.9, 0.99, 0.999 또는 그와 같은 어떤 형태도 원하지 않습니다. 당신이 1 개 소수점 장소를 반올림 필요 같은 내가 (1/3) * 2을 할 수 있다면 그러나, 나는 그것이 1.
내가 한 일입니다. 결과를 3 배로 늘리려면 어떻게해야하는지 알아 내려고 노력 중입니다. – dalawh
불가능합니다. 수학을 할 때 정확한 결과 (반올림없이) 또는 둥근 결과 (정밀도가 떨어짐)가 필요한지 결정해야합니다. – 1ac0