>백엔드 개발 >PHP 문제 >PHP에서 float와 double의 차이점은 무엇입니까

PHP에서 float와 double의 차이점은 무엇입니까

WBOY
WBOY원래의
2022-02-17 15:50:092554검색

PHP에서는 float와 double의 차이가 없습니다. 부동 소수점 유형은 부동 소수점 숫자라고도 하며, PHP에서는 이중 정밀도 숫자 또는 실수 실수입니다. Float, double 또는 실수는 동일한 데이터 유형이며 동일한 구문을 사용하여 정의할 수 있습니다.

PHP에서 float와 double의 차이점은 무엇입니까

이 튜토리얼의 운영 환경: Windows 10 시스템, PHP 버전 7.1, DELL G3 컴퓨터

PHP에서 float와 double의 차이점은 무엇입니까?

에서 float와 double의 차이점을 구별하려면 php에서는 다음 코드 출력을 각각 사용합니다.

$vad = 1.1;
print gettype($vad);
var_dump($vad);

다음과 같이 출력됩니다:

double
float(1.1)

보기에는 다르지만 실제로 PHP에서는 차이가 없습니다. float, double 또는 real은 동일한 데이터 유형입니다. Float(float, double 또는 real이라고도 합니다. C 수준에서는 모든 것이 double로 저장됩니다.

실제 크기는 여전히 플랫폼에 따라 다릅니다. 자세한 내용은 설명서를 참조하세요.

http: //www.php.net/ manual/en/언어.types.float.php

부동 소수점 숫자의 정밀도

부동 소수점 숫자는 정밀도가 제한되어 있지만, 시스템에 따라 PHP는 일반적으로 IEEE 754 배정밀도 형식을 사용합니다. 반올림으로 인해 발생하는 최대 상대 오류입니다. 1.11e-16입니다. 기본이 아닌 수학 연산은 더 큰 오류를 유발할 수 있으며 복합 연산을 수행할 때 오류 전파를 고려해야 합니다.

또한 0.1이나 0.7과 같은 유리수는 소수로 정확하게 표현할 수 있습니다. 가수가 아무리 많아도 내부적으로 사용되는 바이너리로 정확하게 표현되지 않으므로 약간의 정밀도를 잃지 않고는 바이너리 형식으로 변환할 수 없습니다. 이로 인해 혼란스러운 결과가 발생합니다(예: Floor((0.1+ 0.7)*10). )는 일반적으로 예상되는 8 대신 7을 반환합니다. 결과의 내부 표현은 실제로 7.9999999999999991118과 같기 때문입니다.

따라서 부동 소수점 결과가 마지막 숫자까지 정확하다고 신뢰하지 말고 두 부동 소수점을 비교하지 마십시오. ? ​​더 높은 정밀도가 필요하다면 임의의 정밀도 수학 함수나 gmp 함수를 사용해야 합니다.

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP에서 float와 double의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.