PHP 부동 소수점 정밀도 문제 및 솔루션
이 문서에서는 부동 소수점 계산으로 인해 예상치 못한 결과가 발생할 수 있는 PHP의 일반적인 문제를 다룹니다. 부동 소수점 연산의 부정확성
예:
$a = '35'; $b = '-34.99'; echo ($a + $b);
이 작업의 결과는 예상된 0.01이 아닌 0.009999999999998입니다.
왜 이런 일이 발생합니까?
Floating- 점 연산은 실수의 근사치입니다. 산술. 부동 소수점 숫자는 유한 정밀도의 이진 형식으로 저장되므로 표현할 수 있는 숫자의 수가 제한됩니다. 이로 인해 특히 매우 크거나 매우 작은 숫자가 포함된 작업을 수행할 때 부정확성이 발생할 수 있습니다.
이 문제를 어떻게 해결할 수 있습니까?
여러 가지 해결 방법이 있습니다. 이 제한 사항은 다음과 같습니다.
추가 참고 사항:
위 내용은 PHP 부동 소수점 계산이 때때로 예상치 못한 결과를 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!