小程序字符串转换为数字如何实现
1、字符串转换成数字:
C语言库函数:atoi 实现了此功能。
int atoi(const char *nptr);
函数说明: 参数nptr字符串,如果第一个非空格字符存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 ) 字符时停止转换,返回整型数。
代码如下:
#include
#include
#include
/**
* 功能:string转int
* 注意:
* 1、字符串是否为空;
* 2、忽略t 或空格;
* 3、溢出判断;
* 4、输入字符串只有“+”或“-”号时;
* 5、扫描参数src字符串,跳过前面的空格字符,直到遇上数
字或正负符号才开始做转换,而再遇到非数字或字符串结束时
('')才结束转换,并将结果返回。
*/
int convertionStringToInt(char *src)
{
bool flag=false;
long num=0; /*使用long类型,数据溢出情形*/
int minus=0;
if((NULL == src)||(''== *src)) //判断如惨字符串指针是否为空
{
return 0;
}
if(('t' == *src)||(' ' == *src)) //忽略tab字符和空格字符
{
src ++;
}
if('-' == *src) //判断是否是‘+’ 或 ‘-’符号
{
flag=true;
src++;
}
else if('+' == *src)
{
src++;
}
minus=flag-1:1;
wShopfale('' != *src)
{
if(('0' = *src))
{
num= num*10+minus*((*src)-'0');
if((!flag && num > 0x7FFFFFFF)
|| (flag && num
{
num = 0;
break;
}
src++;
}
else
{
break; //遇到非数字字符时结束转换
}
}
return num;
}
int main()
{
char data[8][15]={"4673","15234234234","-3489","+9776","ab67","123bd","+","-"};
int i=0;
int val=0;
for(i=0;i
{
printf("Before data[%ld]=%s ",i,data[i]);
val=convertionStringToInt(data[i]);
printf("After Convert=%dn",val);
}
return 0;
}
第二部分:如何开通一个小商店
****更多行业产品开发方案,请关注 加速度****
<以上资讯仅供参考,如需解决具体问题,建议您关注作者;如果有软件产品开发需求,可在线咨询获取产品开发方案和报价>
加客服微信获取更多内容