小程序字符串转换为数字如何实现 - 加速度jsudo

小程序字符串转换为数字如何实现

2024-01-25
12256 瀏覽
4 評論
闻道君

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;

}

****更多行业产品开发方案,请关注 加速度****

<以上资讯仅供参考,如需解决具体问题,建议您关注作者;如果有软件产品开发需求,可在线咨询获取产品开发方案和报价>

小程序开发 小程序商城 微信小程序
微信客服二维码

加客服微信获取更多内容