把字符串转换成整数
2016-05-07 16:56
375 查看
bool g_InputIsInvalid=true;//默认输入不合法 //核心转换函数 int StrToIntCore(string str,bool bInputIsMinus){ int index=0; int num=0; while(str[index]!='\0'){ if(str[index]<'0'||str[index]>'9'){ //数字不合法 num=0; break; }else{ num=num*10+str[index]-'0'; //溢出 越界 if((!bInputIsMinus&&num>0x7fffffff)|| (bInputIsMinus&&num<(signed int)0x80000000)){ num=0; break; } } index++; } if(str[index]=='\0'){//到了末尾 g_InputIsInvalid=false; if(bInputIsMinus) num=0-num;//负数 } return num; } //字符串转换成整数 int StrToInt(string str) { int nIndex=0; bool bInputIsMinus=false;//输入是否为负数标志 int num=0; if(!str.empty()||str[0]!='\0'){//输入为空或者为"" if(str[nIndex]=='+'||str[nIndex]=='-'){ if(str[nIndex]=='-')//负数 bInputIsMinus=true; nIndex++;//下标 } if(str[nIndex]!='\0'){//不止一个'+'或者'-' num=StrToIntCore(str.substr(nIndex,str.size()-nIndex),bInputIsMinus);//得到子数组 } } return num; }
相关文章推荐
- 字符串转换成整数
- 字符串转换成整数
- Java反射机制浅析
- bzoj 1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
- 【SSH网上商城项目实战04】EasyUI菜单的实现
- Yii2.0模型层数据验证和thinkPHP3.2框架模型层数据验证对比
- 做人
- 16进制
- 数论知识总结
- Adaboost 算法的原理与推导
- C++sort
- 5.7
- 极光推送JPush
- 练习三 1002
- c++ string使用详解
- 自己实现 SharedPtr(3)—— 进一步的转型(cast)支持
- 15电气郄慧敏转化为16进制数
- parseRequest(RequestContext)还是parseRequest(HttpServletRequest)
- 将230转换为16进制数
- OPCServer Modbus使用和配置