如何将电话号码字符串转换为int或者在没有.0的情况下浮动?

时间:2016-09-24 06:18:11

标签: php laravel

数据库中的值是63906xxxxxxx,这是一个电话号码。现在,如果我有一个32位版本的PhP,如何将这个数字正好拉到12位数。

这是我获取字符串的代码: $ contactNum = $ ngo_cotactNo;

        $numeric_indexed_array = array_values($contactNum);
        $n = $numeric_indexed_array[0];

DD($ N); 输出:" 639063449729"

这是我的字符串转换为int的代码: $ contactNum = $ ngo_cotactNo;

        $numeric_indexed_array = array_values($contactNum);
        $n = $numeric_indexed_array[0];
        $number = (int) $n;
        dd($number);
输出:2147483647 要浮动的字符串 输出:639063449729.0

我想要的是整个数字639063449729,以便我可以使用它来传递我的短信息的API。我从昨天起就开始研究这个但没有运气。

1 个答案:

答案 0 :(得分:0)

请勿将电话号码转换为整数或浮点数。在32位环境中,正整数上升到2 ^ 31,这略大于2 000 000 000.根本不可能在32位中放置12位数字。不要使用浮子。浮动的精度有限,因此您的电话号码可能会四舍五入到下一个可表示的数字。请把它们留在一个字符串中。

维基百科说:

  

在国际电话网中,电话的格式   数字由ITU-T建议E.164标准化。这段代码   指定整数应为15位或更短,并且   以国家/地区前缀开头。