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'