//============================================================================
// Name : reversestring.cpp
// Author : qxyu
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
#include<vector>
#include<algorithm>
#include<cmath>
#include<queue>
#include<map>
#include<stack>
#include<string>
#include<unordered_map>
//#include<uint32_t>
using namespace std;
/**
* Definition for a point.
*/
int myAtoi(string& a){
int valid=1;
if(a.size()==0) valid =0;
int flag=0;
int num = 0;
for(int i = 0; i < a.size(); i ++){
if(a[i]==' ') ;
else if (a[i]=='+' && flag==0)
flag=1;
else if(a[i]=='-' && flag==0)
flag=2;
else if(a[i]>='0'&& a[i]<='9')
{
num=num*10+(a[i]-'0');
if(num%10!=(a[i]-'0')){
if(flag!=2) return INT_MAX;
else return INT_MIN;
}
else if(num>=INT_MAX && flag!=2) return INT_MAX;
else if(0-num<=INT_MIN && flag==2) return INT_MIN;
}
else{
valid=0;
if(flag==2) num=0-num;
return num;
}
}
if(flag==2) num=0-num;
return num;
}
int main()
{
string a=" -04f";
cout<<myAtoi(a);
return 0;
}
将字符串转换为数字
最新推荐文章于 2022-05-24 21:20:00 发布