将String转换为Integer返回2147483647

时间:2013-03-20 19:12:18

标签: php

其他很多人似乎遇到了这个问题,但通常与MySQL数据类型有关。

我正在尝试将String转换为这样的整数:

$adGroupId  = '5947939396';
$adGroupId  = intval($adGroupId)

然而,返回的Integer是2147483647,与字符串输入无关。

3 个答案:

答案 0 :(得分:14)

该数字太大而不适合整数数据类型(如上所示,最大整数值为2147483647)。 Converting it to a float instead will work:

$adGroupId  = '5947939396';
$adGroupId  = floatval($adGroupId)

答案 1 :(得分:4)

这是因为2147483647是最大整数值。您可以使用floatval

$adGroupId  = '5947939396';
$adGroupId  = floatval($adGroupId);
echo $adGroupId;

答案 2 :(得分:1)

将它强制转换为浮动

$adGroupId = (float)$adGroupId;

接受的答案与这一差异之间的参考: Typecasting vs function to convert variable type in PHP