将一串字符串数字转化为整型数字
2015-05-17 21:20
260 查看
上篇文章介绍了itoa函数的实现,今天来说说atoi函数,主要思路是:将字符串从头开始读取,跳过最前面的空格以及其他无用字符;遇到正负号,做标记;之后的字符串,遇到数字则转换,遇到其他字符则直接跳出。好了,贴下代码:
好了,应该能理解,最关键的在22行,将字符串数字转换为整型数字,OK。
int atoi(char str[]) { int flag=0; int num=0; int i=0; while(str[i]==' '||str[i]=='\t') //判断字符串开头是否为制表符或者空格 { i++; } while(str[i]=='-'||str[i]=='+') //判断字符串数字的正负 { if(str[i]=='-') { flag=1; //为负的则标记 } i++; } while(str[i]!='\0') //读字符串直到结尾 { if(str[i]>='0'&&str[i]<='9') //判断字符是否为数字 { num=str[i]-'0'+num*10; //将字符转化为数字 i++; } else //如果字符串中有其他字符直接跳出 break; } if(flag==1) num=-num; //如果有标记,将数字变为负数 printf("%d",num); return 0; }
好了,应该能理解,最关键的在22行,将字符串数字转换为整型数字,OK。
相关文章推荐
- 不用库函数,用C语言实现将一整型数字转化为字符串
- 把数字字符串(带有小数点)转化为整型(浮点型)
- 不用库函数,用c语言实现将一整型数字转化为字符串
- 将数字字符串转化成整型数据
- 不用库函数,用C语言实现将一整型数字转化为字符串
- 用C语言实现将一整型数字转化成为字符串
- 将一串数字转化为中文字符串,使用 C# 将数字转换成大写人民币 (例如:用户输入2300,系统就会显示两千三百元 )
- 不用库函数,用C语言将一整型数字转化成字符串
- (用atoi系列)字符串转化为数字(整型、浮点型)
- 整理用Java实现数字转化成字符串左边自动补零方法
- 字符数组、字符串、整型数之间的转化
- js 字符串转化成数字
- JS将字符串转化成数字
- 数字转化为特定格式的字符串
- 为什么R.string.ID 返回的是一串数字,而不是字符串?
- C算法实现:将字符串中的数字返回为整型数
- java 非String Button监听器 以及字符串转化为数字数组
- javascript中字符串转化为数字
- 二进制字符串转化为十进制数字,感觉明明是在范围内却报异常了
- C++字符串转化为数字的库函数