我有这个代码
$vad = 1.1;
print gettype($vad);
var_dump($vad);这将输出:
double
float(1.1) 所以在php中是双精度还是浮点型?
发布于 2010-07-19 20:14:53
在PHP中没有区别。float、double或real是相同的数据类型。
在C语言中,所有内容都存储为double。
实际大小仍然取决于平台。
有关详细信息,请参阅手册:
http://www.php.net/manual/en/language.types.float.php
发布于 2010-07-19 20:19:41
对于PHP,它们是相同的。http://www.php.net/manual/en/language.types.float.php:
浮点数(也称为“浮点数”、“双精度数”或“实数”)可以使用以下任何语法指定:
令人困惑的部分是为什么gettype (无论如何都不应该使用它)返回"double“而不是"float”。答案是http://de2.php.net/manual/en/function.gettype.php
" double“(由于历史原因,如果是浮点型,则返回”double“,而不仅仅是" float ")
发布于 2017-01-14 20:39:54
从Windows上的PHP7.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"。
https://stackoverflow.com/questions/3280892
复制相似问题