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

青灯夜游
Lepaskan: 2023-04-04 11:10:02
ke hadapan
2707 orang telah melayarinya

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

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

示例1:

输入 : +2147483647
a33

输出 : 2147483647
0

思路:

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'9') //包含非数字字符的,直接返回0 res=0 break; res=res*10+str[i]-'0' //进位用和ascii相减算出整型数字 res=symbol*res //加上正负号 return res
Salin selepas log masuk

php实现(代码示例):

'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);
Salin selepas log masuk

Atas ialah kandungan terperinci PHP实现将一个字符串转换成一个整数的方法(代码示例). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:cnblogs.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!