Tengo este código
$vad = 1.1;
print gettype($vad);
var_dump($vad);
esto saldrá:
double
float(1.1)
Entonces, ¿es double o float en PHP?
Tengo este código
$vad = 1.1;
print gettype($vad);
var_dump($vad);
esto saldrá:
double
float(1.1)
Entonces, ¿es double o float en PHP?
No hay ninguna diferencia en PHP. float
, double
o real
son del mismo tipo de datos.
En el nivel C, todo se almacena como un double
.
El tamaño real sigue dependiendo de la plataforma.
Consulte el manual para obtener más detalles:
http://www.PHP.net/manual/en/language.types.float.PHP
Para PHP, son lo mismo. http://www.PHP.net/manual/en/language.types.float.PHP :
Los números de coma flotante (también conocidos como "flotantes", "dobles" o "números reales") pueden especificarse utilizando cualquiera de las siguientes sintaxis: [...]
La parte confusa es por qué gettype (que no deberías usar, de todos modos) devuelve "double" en lugar de "float". La respuesta es http://de2.PHP.net/manual/en/function.gettype.PHP :
" double " (por razones históricas se devuelve "double" en caso de un float , y no simplemente "float")
A partir de PHP 7.0.6 en Windows, comparando este comando sin xdebug:
$ php -r 'var_dump(28.4);'
float(28.4)
y con xdebug:
$ php -r 'var_dump(28.4);'
Command line code:1:
double(28.4)
Tenga en cuenta que esto sólo cambia la salida de var_dump(), pero no la gestión real de la memoria.
Esto puede responder a algunas preocupaciones por las que ve double
en lugar de float
mostrado en var_dump en algunas otras máquinas.
Además, con o sin xdebug, gettype
todavía vuelve string(6) "double"
.
Respuesta verdadera: http://docs.sun.com/source/806-3568/ncg_goldberg.html
Respuesta corta: todo depende de la precisión.
Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.