> Java > java지도 시간 > 이중 변수의 소수 자릿수를 정확하게 조정하려면 어떻게 해야 합니까?

이중 변수의 소수 자릿수를 정확하게 조정하려면 어떻게 해야 합니까?

DDD
풀어 주다: 2024-12-06 15:13:15
원래의
452명이 탐색했습니다.

How Can I Accurately Adjust Decimal Places in Double Variables?

Double의 소수점 부정확성 극복

Double로 작업하는 동안 소수 자릿수를 정확하게 조정해야 하는 경우가 종종 발생합니다. 일반적인 오해는 .1 또는 유사한 분수를 반복적으로 곱하면 충분하다는 것입니다. 그러나 이는 이중 형식의 값을 부정확하게 표현하기 때문에 심각한 반올림 오류로 이어질 수 있습니다.

정수를 정확하게 표현할 수 있다는 점을 활용하여 정수 승수와 나누기를 사용하는 것이 더 정확한 접근 방식입니다. 예를 들어 아래와 같이 100으로 나누면 소수점 자리가 효과적으로 오른쪽으로 이동합니다.

double x = 1234;
x /= 100;
로그인 후 복사

그러나 정수로 나누면 복합 반올림 오류가 제거되지만 완전히 그렇지는 않습니다. 반올림 부정확성을 제거합니다. 부동 소수점 산술은 사용된 방법에 관계없이 본질적으로 계산 시 약간의 반올림을 도입합니다.

정확한 소수 표현을 얻으려면 임의 정밀도 산술을 제공하는 Java API의 클래스인 BigDecimal 사용을 고려할 수 있습니다. . BigDecimal은 내부적으로 정확한 값을 유지하여 부동 소수점 계산에서 발생할 수 있는 반올림 오류를 제거합니다.

위 내용은 이중 변수의 소수 자릿수를 정확하게 조정하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿