字串轉整數以及函式atoi()的使用
阿新 • • 發佈:2018-12-10
轉自:https://blog.csdn.net/lanzhihui_10086/article/details/39995869
atoi()函式
atoi():int atoi(const char *str );
功能:把字串轉換成整型數。
str:要進行轉換的字串
返回值:每個函式返回 int 值,此值由將輸入字元作為數字解析而生成。 如果該輸入無法轉換為該型別的值,則atoi的返回值為 0。
說明:當第一個字元不能識別為數字時,函式將停止讀入輸入字串。
#include<iostream> using namespace std; int atoi_my(const char *str) { int s=0; bool falg=false; //去掉字串開頭的空 while(*str==' ') { str++; } //判斷字串是正數還是負數 if(*str=='-'||*str=='+') { if(*str=='-') falg=true; str++; } //開始轉化 while(*str>='0'&&*str<='9') { s=s*10+*str-'0'; str++; if(s<0) { s=2147483647; break; } } return s*(falg?-1:1); } int main() { char *s1="333640"; char *s2="-12345"; char *s3="123.3113"; char *s4="-8362865623872387698"; char *s5="+246653278"; int sum1=atoi(s1); int sum_1=atoi_my(s1); int sum2=atoi(s2); int sum_2=atoi_my(s2); int sum3=atoi(s3); int sum_3=atoi_my(s3); int sum4=atoi(s4); int sum_4=atoi_my(s4); int sum5=atoi(s5); int sum_5=atoi_my(s5); cout<<"atoi: :"<<sum1<<endl; cout<<"atoi_my:"<<sum_1<<endl; cout<<"atoi: :"<<sum2<<endl; cout<<"atoi_my:"<<sum_2<<endl; cout<<"atoi: :"<<sum3<<endl; cout<<"atoi_my:"<<sum_3<<endl; cout<<"atoi: :"<<sum4<<endl; cout<<"atoi_my:"<<sum_4<<endl; cout<<"atoi: :"<<sum5<<endl; cout<<"atoi_my:"<<sum_5<<endl; system("pause"); return 0; }
執行結果如下: