整数转化成字符串; 字符串转换为整数
2015-11-28 17:47
471 查看
整数转化成字符串; 字符串转换为整数
/*整数转化成字符串*/ char *IntToStr(int num, char str[]) { int i = 0, j = 0; char temp[100]; while(num) { temp[i] = num % 10 + '0'; //取模运算得到从后往前的每一个数字变成字符 num = num / 10; i++; } temp[i] = 0; //字符串结束标志 i = i - 1; //回到temp最后一个有意义的数字 while(i >= 0) { str[j] = temp[i]; i--; j++; } str[j] = 0; //字符串结束标志 return str; } /*字符串转换为整数,仅考虑十进制,不考虑非法字符*/ int StrToInt(char *str) { int value = 0; int sign = 1; assert(str != NULL); if(*str == '-') { sign = -1; str++; }else if(*str == '+') { str++; } while(*str) { value = value * 10 +(*str - '0'); str++; } return sign * value; } /*字符串转换整数,考虑16进制,10进制,8进制,不考虑其他非法字符*/ int StrToIntAll(char *str) { int value = 0; int sign = 1; int radix; assert(str != NULL); if(*str == '-') { sign = -1; str++; } else if(*str == '+') { str++; } //考虑不同的进制 if(*str == '0' && (*(str+1) == 'X' || *(str+1) == 'x')) { radix = 16; str += 2; }else if(*str == '0') { radix = 8; str++; }else { radix = 10; } while(*str) { if(radix == 16) { if(*str >= '0' && *str <= '9') { value = value * radix + (*str - '0'); }else { value = value * radix +(*str - 'a' + 10); } }else { value = value * radix + (*str - '0'); } str++; } return sign * value; }
相关文章推荐
- com.google.common.cache.CacheLoader原因分析
- HttpClient第一章(一)
- 单源最短路径
- UI-之plist文件解析
- leetcode@ [131/132] Palindrome Partitioning & Palindrome Partitioning II
- Scala: Under The Hood of Hello World
- LintCode 螺旋矩阵 (新解法)
- 0-1背包问题
- Top K 算法详解
- KVC 的 容错方法
- mina总结
- 【Leetcode】N-Queens II
- equals方法的重写
- android学习3——长宽的单位问题dp,px,dpi
- N皇后问题
- Storm配置属性和操作命令
- 【多线程编程】模拟QQ的“正在输入...”,输入状态检测原理
- mysql 安装期间遇到的问题
- poj2406 Power Strings(kmp失配函数)
- AS3加载操作swf