当前位置: > 职场指南 > 面试试题 > 本文内容

程序员面试题精选100题(04)-把字符串转换成整数 (2)

发布时间:2019-09-22整理:admin阅读:

digit ++;
            else if(*digit == '-')
            {
                  digit ++;
                  minus = true;
            }

            // the remaining chars in the string
            while(*digit != '\0')//循环截止条件
            {
                  if(*digit >= '0' && *digit <= '9')//判断字符串是否为数字
                  {
                        num = num * 10 + (*digit - '0');//核心转换公式

                        // overflow  
                        
if(num > std::numeric_limits<int>::max())//判断是否溢出
                        {
                              num = 0;

                              break;
                        }


                        digit ++;
                  
}

                  // if the char is not a digit, invalid input
                  else //是否含有非数字字符
                  {
                        num = 0;
                        break;
                  }
            }

            if(*digit == '\0')//判断字符串是否转换完毕
            {
                  g_nStatus = kValid;
                  if(minus)
                        num = 0 - num;
            }
      }

      return static_cast<int>(num);
}

欢迎分享转载→ 程序员面试题精选100题(04)-把字符串转换成整数 (2)

相关文章

用户评论

精品推荐

图文资讯

网站地图 - 辞职报告- 职场指南 - 实习总结 - 实习周记 - 实习鉴定- - 个人总结 - 主持词 - 工作计划