代码之家  ›  专栏  ›  技术社区  ›  Centurion

php中float和double的区别?

php
  •  104
  • Centurion  · 技术社区  · 16 年前

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

    这将输出:

    double
    float(1.1) 
    

    所以在php中是double还是float?

    4 回复  |  直到 16 年前
        1
  •  165
  •   ratchet freak    11 年前

    PHP没有区别。 float double real 是相同的数据类型。

    在C级,所有内容都存储为

    有关详细信息,请参阅手册:
    http://www.php.net/manual/en/language.types.float.php

        2
  •  22
  •   Victor Nicollet    16 年前

    对于PHP,它们是相同的。 http://www.php.net/manual/en/language.types.float.php

    浮点数(也称为“floats”、“doubles”或“real numbers”)可以使用以下任何语法指定:[…]

    http://de2.php.net/manual/en/function.gettype.php :

    “double”(由于历史原因,在float的情况下返回“double”,而不是简单的“float”)

        3
  •  10
  •   SOFe    8 年前

    从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\u dump()输出,而不会更改实际的内存管理。

    这可能会解决一些问题 double 而不是 float 显示在其他一些机器的varïu dump中。

    另外,无论是否使用xdebug, gettype string(6) "double" .

        4
  •  5
  •   Oboroten    8 年前

    在PHP 7.0.14中

    function test(double $a) {
        var_dump($a);
    }
    test(2.2111);
    

    返回“致命错误:未捕获的TypeError:传递给test()的参数1必须是double的实例,float given”。

    function test(float $a) {
        var_dump($a);
    }
    test(2.2111);
    

    推荐文章