把字符串转换成整数

来源:互联网 发布:webshell是什么 编辑:程序博客网 时间:2024/06/05 15:09

【题目】将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。

【分析】这道题主要是要注意完整性,特殊情况进行考虑。比如:正负,超过边界等等情况。

【代码】

   int StrToInt(string str) {     int value=1;  int minus = +1; if(str == "")return 0; if (NULL == str.c_str())         {         value=-1;          return 0;     } bool flag = true;int len = str.length();int plen = 0;long count=0;while (plen<=len)//{'-'){minus = -1;plen++;}else if (str[plen] == '+'){ minus = +1;plen++;}if ((str[plen] >= '0') && (str[plen] <= '9'))//{ count = count * 10;count += (str[plen]-'0')*minus;if (((count > 0x7FFFFFFF) && (minus)) || ((count < (signed int)0xFFFFFFFF) && (!minus))){count = 0;return (int)count;}plen++;}else{count = 0;return (int)count;}if (str[plen] == '\0')return (int)count;}return (int)count;}
【总结】

做了这道题,我想总接的是:如何进行输入完整性或者编程完整性的思考。比如正确情况下的输出,边界情况(大于 最大int型整数或者小于 最小int型整数),特殊情况的处理(str为空,为“”,为非数字)。

0 0
原创粉丝点击