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

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

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

 

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

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

示例1:

输入 : +2147483647
a33

输出 : 2147483647
0

思路:

  • 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);

 

郑重声明:帖子标题写有 【亲测】即能正常运行,帖子标题有 【原版】字样即原始版本自带有加密文件版本 限于标题长度字数限制问题,部分资源未注明开源情况均为原版文件(原版文件未做解密处理,但不影响使用)爱集码不会自己加密代码文件,源码仅供研究学习之用,请勿用于商业运营,商业运营请支持作者,购买正版,谢谢 特别提醒:本站所有下载资源均不包含技术支持和安装服务! 如需技术支持联系客服有偿解决,终身会员视情况而定,一般小问题免费解决。 重要提示:本站对于 Safari浏览器兼容不好,如出现下载按钮消失请换360或者QQ等第三方浏览器访问或下载。 免责申明:本站仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除。
资源猫 » PHP实现将字符串转换成一个整数的方法(代码示例)

提供最优质的资源集合

资源猫 立即查看