简体   繁体   中英

Converting a String to an Integer returns 2147483647

Plenty of others seem to have had this problem, but usually associated with an MySQL datatype.

I'm trying to convert a String to an Integer like this:

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

However the Integer returned is 2147483647, irrespective of the string input.

That number is too big to fit in an integer data type (the max integer value is 2147483647 as seen above). Converting it to a float instead will work:

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

It's happening because 2147483647 is the maximum integer value. You can use floatval

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

Just typecast it to a float

$adGroupId = (float)$adGroupId;

Reference between the accepted answer and this one differences: Typecasting vs function to convert variable type in PHP

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM