如何在PHP中解析长值?

时间:2011-09-05 15:40:23

标签: php parsing long-integer

需要像intVal()这样的东西,但需要更大的数字,例如:100001416147426。

在php中有这样的功能吗?找不到它。

3 个答案:

答案 0 :(得分:2)

你应该使用BC Math,它被设计为PHP的任何大小的数字。

BC Math extensions提供several mathematic functions,例如:

  • bcadd添加两个任意精确数字
  • bccomp - 比较两个任意精度数
  • bcsqrt获取任意精度数的平方根
  • ...

在PHP文档站点上, Charles 有一个small code example来围绕一个长数字!

答案 1 :(得分:1)

考虑

$x = (double) "100001416147426";
var_dump($x);

输出:

float(1.0000141614743E+14)

答案 2 :(得分:1)

过去的编码标准(自C以来)一直遵循L / l的数字 $ x = 100001416147426L;

这个提示是分析64位的解析器,以便从脚本中读出要编译的数字。

但除非你运行php x64,否则这将毫无用处。另外,你必须用big_number组件构建它。一旦进入x64环境,当超过32位int时,intval将自动扩展为long。