atoi — 隐式数据类型转换
来源:互联网 发布:xp升级win7软件 编辑:程序博客网 时间:2024/06/05 09:17
class Solution {public: int myAtoi(string str) { if(str.empty()) { return 0; }
string::const_iterator itor = str.begin(); for(; itor != str.end(); ++itor) { if(isspace(*itor)) { continue; } break; } long long nRet = 0; // 如果这里定义的数据类型为int,后面的实现方式会产生溢出错误 bool isPas = true; if(*itor == '+') { ++itor; } else if(*itor == '-') { ++itor; isPas = false; } for(; itor != str.end(); ++itor) { if(*itor >= '0' && *itor <= '9') { // long long llTemp = nRet * 10; // 如果nRet是int类型,则nRet * 10就已经溢出了, // 将其赋值给long long型的数据也是错误的结果。 // 所以nRet必须为long long型数据。 // llTemp = llTemp + *itor - '0'; nRet *= 10; nRet += *itor - '0'; bool isOver = isPas ? nRet > INT_MAX : -nRet < INT_MIN; if(isOver) { return isPas ? INT_MAX : INT_MIN; } } else { return isPas ? nRet : -nRet; } } return isPas ? nRet : -nRet;}
};
0 0
- atoi — 隐式数据类型转换
- 数据类型转换函数strtod | atoi | atol
- 数据类型---数据类型转换、隐式类型转换
- 数据类型隐式转换
- 隐式数据类型转换
- stringstream/snprintf/sscanf/atoi/itoa数据类型转换比较
- JAVA 强制数据类型转换和隐式数据类型转换
- 数据类型,隐式类型转换
- javascript隐式数据类型转换
- 数据类型的隐式转换
- 数据类型的隐式转换
- js数据类型隐式转换
- C#中数据类型转换-隐式转换
- javaScript数据类型转换--隐式转换
- 类型转换——atoi函数
- c中数据类型的隐式转换
- 隐式数据类型转换 & TABLE ACCESS FULL
- c中数据类型的隐式转换
- 博客开始
- CharSequence与String的区别
- 三大框架
- 移除view工具类
- tp上传图片
- atoi — 隐式数据类型转换
- vi退出
- JAVA中定时器的几种用法
- 物联网系统 : 网页控制远程wifi继电器开关,网页自适应屏幕。 分为登录,注册(短信验证),重置密码(短信验证),控制开关,配置开关(可动态新增或删除开关)
- acm 2016/5/18 hpu15级练习 J
- ConvenientBanner框架实现广告浏览
- Makefile 的 遗漏分隔符错误信息
- HDOJ 1005
- baseactivity和baseapplication