php5将64位整数转换为双倍 - 如何强制64位?
问题描述:
在PHP5,通过一个64位的整数,1707541557936130
通过GET,但它显示的1.7075415579361E+15
php5将64位整数转换为双倍 - 如何强制64位?
值如何可以强制PHP来使用大的整数为整数,而不是作为浮动
当我转移<<
显然的结果也就是int32,不是int64
有没有办法让全局说使用int64?
答
PHP仅在64位系统上支持64位整数。在这两种情况下,大于PHP_INT_MAX的整数都被转换为浮点数。 参见manual。
尝试此代码:
<?php
$i=1707541557936130;
var_dump($i);
echo PHP_INT_MAX;
+0
这是一个无赖,尤其是PHP的自动转换。 – 2012-01-02 15:14:25
有[GMP](http://php.net/manual/book.gmp.php)和有[BC数学](HTTP:// PHP。净/手动/ book.bc.php)。至少GMP应该帮助你。 – hakre 2012-08-01 13:44:42