PHP에서 float과 double의 차이점은 무엇입니까?
이 코드가 있습니다
$vad = 1.1;
print gettype($vad);
var_dump($vad);
이것은 출력됩니다 :
double
float(1.1)
PHP에서 이중 또는 부동입니까?
PHP에는 차이가 없습니다. float
, double
또는 real
동일한 데이터 유형이다.
C 레벨에서는 모든 것이로 저장됩니다 double
.
실제 크기는 여전히 플랫폼에 따라 다릅니다.
자세한 내용은 매뉴얼을 참조하십시오 :
http://www.php.net/manual/en/language.types.float.php
PHP의 경우에는 동일합니다. http://www.php.net/manual/en/language.types.float.php :
부동 소수점 숫자 ( "floats", "doubles"또는 "real numbers"라고도 함)는 다음 구문 중 하나를 사용하여 지정할 수 있습니다. [...]
혼란스러운 부분은 gettype (사용하지 말아야 할)이 "float"대신 "double"을 반환하는 이유입니다. 대답은 http://de2.php.net/manual/en/function.gettype.php입니다 .
"double"(역사적인 이유로 단순히 "float"가 아니라 float의 경우 "double"이 리턴 됨)
Windows에서 PHP 7.0.6부터 xdebug 없이이 명령 을 비교합니다 .
$ php -r 'var_dump(28.4);'
float(28.4)
xdebug 와 함께 :
$ php -r 'var_dump(28.4);'
Command line code:1:
double(28.4)
var_dump () 출력 만 변경되지만 실제 메모리 관리는 변경되지 않습니다.
이것은 다른 머신에서 var_dump double
대신에 왜 보이는지에 대한 우려를 해결할 수 float
있습니다.
또한 xdebug의 유무에 관계없이 gettype
여전히을 반환합니다 string(6) "double"
.
PHP 7.0.14에서
function test(double $a) {
var_dump($a);
}
test(2.2111);
"치명적 오류 : catch되지 않은 TypeError : test ()에 전달 된 인수 1은 double, float 제공 인스턴스 여야합니다"를 리턴합니다.
function test(float $a) {
var_dump($a);
}
test(2.2111);
화면에 2.2111을 인쇄합니다.
참고 URL : https://stackoverflow.com/questions/3280892/difference-between-float-and-double-in-php
'program tip' 카테고리의 다른 글
Array_merge (0) | 2020.08.04 |
---|---|
레지스터 자체를 XOR하는 목적은 무엇입니까? (0) | 2020.08.04 |
왜 scss / css에서 파일 이름“_”또는“_”앞에 두어야합니까? (0) | 2020.08.04 |
Facebook 로그인 메시지 : "URL 차단됨 : 리디렉션 URI가 앱의 클라이언트 OAuth 설정에 허용되지 않기 때문에이 리디렉션에 실패했습니다." (0) | 2020.08.04 |
장고를위한 최고의 AJAX 라이브러리는 무엇입니까? (0) | 2020.08.04 |