function str2int($str) {
// 先判断正负
$str_arr = str_split($str);
$isNeg = false;
if($str_arr[0] == '-') {
$isNeg = true;
$str = substr($str,1);
}
$str_arr = str_split($str);
$num = 0;
$i = 0;
$multmin = PHP_INT_MAX / 10;
while( $i < count($str_arr)) {
$digit = $str_arr[$i++];
if (!is_numeric($digit)) {
echo "illegal input\n";
return;
}
if($num > $multmin) {
echo "overflow\n";
return;
}
$num *= 10;
if($num > (PHP_INT_MAX - $digit)) {
echo "overflow\n";
return;
}
$num += $digit;
}
echo $isNeg ? -$num : $num;
echo "\n";
}
编程题:实现str2int,输入:“123”,输出:123
最新推荐文章于 2023-04-13 23:29:38 发布