PHP에서는 float와 double의 차이가 없습니다. 부동 소수점 유형은 부동 소수점 숫자라고도 하며, PHP에서는 이중 정밀도 숫자 또는 실수 실수입니다. Float, double 또는 실수는 동일한 데이터 유형이며 동일한 구문을 사용하여 정의할 수 있습니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, PHP 버전 7.1, DELL G3 컴퓨터
에서 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!