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

作者 : administrator 本文共1011个字,预计阅读时间需要3分钟 发布时间: 2019-09-28 共556人阅读


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. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请点击后面字体→到投诉版块区举报,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.empa.cc",如遇到无法解压的请联系管理员!
手游资源站 » PHP实现将字符串转换成一个整数的方法(代码示例)

常见问题FAQ

发表评论

发表评论