这篇“小程序如何将字符串转换为数字”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“小程序如何将字符串转换为数字”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们一起来看看具体内容吧。
1、字符串转换成数字:
C语言库函数:atoi 实现了此功能。
int atoi(const char *nptr);
函数说明: 参数nptr字符串,如果第一个非空格字符存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。
代码如下:
#include <stdio.h> #include <string.h> #include <stdbool.h> /** * 功能:string转int * 注意: * 1、字符串是否为空; * 2、忽略\t 或空格; * 3、溢出判断; * 4、输入字符串只有“+”或“-”号时; * 5、扫描参数src字符串,跳过前面的空格字符,直到遇上数 字或正负符号才开始做转换,而再遇到非数字或字符串结束时 ('\0')才结束转换,并将结果返回。 */ int convertionStringToInt(char *src) { bool flag=false; long num=0; /*使用long类型,数据溢出情形*/ int minus=0; if((NULL == src)||('\0'== *src)) //判断如惨字符串指针是否为空 { return 0; } if(('\t' == *src)||(' ' == *src)) //忽略tab字符和空格字符 { src ++; } if('-' == *src) //判断是否是‘+’ 或 ‘-’符号 { flag=true; src++; } else if('+' == *src) { src++; } minus=flag?-1:1; while('\0' != *src) { if(('0' <= *src)&&('9' >= *src)) { num= num*10+minus*((*src)-'0'); if((!flag && num > 0x7FFFFFFF) || (flag && num < (signed int)0x80000000)) //判断转换后的整型数是否溢出,注意正负数均要判断 { 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<8;i++) { printf("Before data[%ld]=%s ",i,data[i]); val=convertionStringToInt(data[i]); printf("After Convert=%d\n",val); } return 0; }
小程序是一种不需要下载安装即可使用的应用,通过扫描二维码或是搜一搜立即使用,操作简单,便于传播,能够实现消息通知、线下扫码、公众号关联等七大功能。它基于微信运行的,类似于APP,想用就用,用完即走,不会占用内存。
感谢您的阅读,希望您对“小程序如何将字符串转换为数字”这一关键问题有了一定的理解,具体使用情况还需要大家自己动手实验使用过才能领会,快去试试吧,如果想阅读更多相关知识点的文章,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。