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);
本文由(壳先生)整理自网络,如转载请注明出处:https://www.mrshell.com;
本站发布的内容若侵犯到您的权益,请邮件联系 i@mrshell.com 删除,我们将及时处理!
===========================================================================

1. 本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行测试。
2. 本站资源仅供学习和交流使用,版权归资源原作者所有,请在下载后24小时之内自觉删除。
3. 不得使用于非法商业用途,商用请支持正版!不得违反国家法律,否则后果自负!
4. 若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

=================================================================

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

发表评论

提供最优质的资源集合

立即查看 了解详情