最新公告
  • 欢迎您光临源码库,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入
  • PHP实现将字符串转换成一个整数的方法(代码示例)

    PHP实现将字符串转换成一个整数的方法(代码示例)

    如果您是本站会员;我们将为您提供技术支持!!!

     
    本篇文章给大家带来的内容是介绍PHP实现将一个字符串转换成一个整数的方法(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

    题目描述
    将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。

    示例1:
    输入 : +2147483647
    a33
    输出 : 2147483647

    思路:

    • 1.处理负号

    • 2.处理正号

    • 3.字符串中包含非数字字符的直接返回0

    • 4.’0’字符的ascii码是48

    • 4.遍历字符串,从0位置开始扫描,当前数字字符ascii码减去’0’字符ascii码,就应该是当前位置的整型

    算法:

    StrToInt(str)     if empty(str) return 0     symbol=1     if str[0]=='+'          symbol=1; str[0]='0'     if str[0]=='-'         symbol=-1; str[0]='0'     res=0     for i=0;i<str.size;i++         if(str[i]<'0' || str[i]>'9') //包含非数字字符的,直接返回0             res=0 break;         res=res*10+str[i]-'0'  //进位用和ascii相减算出整型数字     res=symbol*res //加上正负号     return res

    php实现(代码示例):

    <?php function StrToInt($str){         if (empty($str)){return 0;}          $symbol=1;         if ($str{0}=='+'){                  $symbol=1;                  $str{0}='0';         }            if ($str[0]=='-'){                 $symbol=-1;                  $str{0}='0';         }            $res=0;         for ($i=0;$i<strlen($str);$i++){                 if($str{$i}<'0' || $str{$i}>'9'){ //包含非数字字符的,直接返回0                         $res=0;                         break;                 }                    $res=$res*10+$str{$i}-'0'; //进位用和ascii相减算出整型数字         }            $res=$symbol*$res; //加上正负号         return $res; } $s="-123"; $res=StrToInt($s); var_dump($res);

     

    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

    源码资源库 » PHP实现将字符串转换成一个整数的方法(代码示例)