atoi
将字符数字转为整形数字。
1 int iCharToInt(const char * str) 2 { 3 int i = 0; 4 long long iNum = 0; 5 bool bIsPositiveNumber = true; 6 int iLen = strlen(str); 7 if(iLen == 0) 8 { 9 return 0; 10 } 11 while(str[i] == ' ') 12 { 13 i++; 14 } 15 if(str[i] == '+') 16 { 17 i++; 18 bIsPositiveNumber = true; 19 } 20 else if(str[i] == '-') 21 { 22 i++; 23 bIsPositiveNumber = false; 24 } 25 if(i<iLen) 26 { 27 if( !('0'<=str[i] && str[i]<='9') ) 28 { 29 return 0; 30 } 31 iNum = str[i]-'0'; 32 i++; 33 } 34 35 for (; i<iLen; i++) 36 { 37 if( !('0'<=str[i] && str[i]<='9') ) 38 { 39 break; 40 } 41 iNum = iNum*10 + (str[i]-'0'); 42 if(iNum > 2147483647) 43 { 44 break; 45 } 46 } 47 if(!bIsPositiveNumber) 48 { 49 iNum = iNum * -1; 50 } 51 if(iNum>2147483647) 52 { 53 return 2147483647; 54 } 55 else if(iNum<-2147483648) 56 { 57 return -2147483648; 58 } 59 return iNum; 60 }
My Github Blog: mdgsf.github.io

浙公网安备 33010602011771号