加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

[PHP] 算法-将一个字符串转换成一个整数的PHP实现

发布时间:2020-05-25 03:08:08 所属栏目:PHP 来源:互联网
导读:题目描述将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。示例1输入+21474836471a33输出2147483647思路:1.处理负号2

<div class="cnblogs_code">

.valueOf(示例1
输入
+2147483647<span style="color: #000000">
1a33
输出
2147483647
0<span style="color: #000000">
思路:
1.<span style="color: #000000">处理负号
2.<span style="color: #000000">处理正号
3.<span style="color: #000000">字符串中包含非数字字符的直接返回0
4.'0'<span style="color: #000000">字符的ascii码是48
4.遍历字符串,从0位置开始扫描,当前数字字符ascii码减去'0'<span style="color: #000000">字符ascii码,就应该是当前位置的整型

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

<div class="cnblogs_code">

'9'){ 
                        =0=*10+{}-'0'; 
=*; 
         ="-123"=StrToInt(();

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读