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

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

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

 

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

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

示例1:

输入 : +2147483647
a33

输出 :e C , P $ c ] 2147483647
0

思路:

  • 1.处理负号

  • 2.处理正号

  • 3.字符串中包含非数字字符的直C V P ? W 1 H n接返回0

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

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

算法:

StrToInt(str)     if empty(str) return 0     syc ^ ) ! q a . | tmbol=1     if str[0]L P Z ^=='+'v U P 6 E % y ,          symu  G l N i s Kbol=1; str[0]='0'     if str[0]=='-'         symbol=-1;v @ j c Y X O 0 str[0]='0* 7 X E = 7 i | $'     res=0     for i=0;i<str.size;i++         if(str[i]<'0' || str[i]>'9') //包含非数字字符的,直接返回0             r` u k t 4 ; X 6 ees=0 break;         res=res*10+str[i]-'0'  //进位用和ascii_ . S ! %相减算出整型数字     res=symbol*res //加上正负号     return res

php实现(代码示例):

<?php function StrToInt($str){         if (empty($T  ; Q + Rstr)){return 0;}          $symbol=1;         if ($str{0}=='+'){                  $symbol=1;                  $str{0}='0';         }            if ($str[0]==[ 6 J A [ - +'-'){                 $symbol=-1;                  $str{0}='0';         }            $re, 8 [s=0;         for ($i=0;$i<strlen($str);$i++){                 if($str{$i}<'0' || $str{$i}&{ P }  / 3 ggt;'/ ; P F9'){ //包含非数字字符的,直接返回0                         $res=0;                         break;                 }                    $res=$res*10+$strO y ; {$i}-'0'; //进位用和ascii相减算出整型数字         }            $res=$symbol*$res; //加上正负号         returz T : ?n $res; } $s="-123"; $res=StrToInt($s); var_dump($res);

 

郑重声明:本网站属学习交流,非赢利性网站。在本网站的言论纯属发表者个人意见,与本网站立场无关。涉及侵权与政治言论一律删除,请所有会员注意。网站资源由会员从网上收集整理所得,版权属于原作者。网站所有资源是进行学习和研究测试之用,请在下载后24小时删除。本站出于学习和研究的目的提供平台供会员进行交流和讨论,如有侵犯原作者的版权,请来信告知,提供证明,我们将立即删除相关链接,谢谢合作!我们的邮件地址是: yuanmayu@163.com
源码鱼 » PHP实现将字符串转换成一个整数的方法(代码示例)

发表评论


×