數字,字符串和string的相互轉化


數字轉字符串:

  itoa(int1, char*, int2); //將int1以int2進制存儲在char*數組里

  ltoa(long, char*, int); //將long以int進制存儲在char*數組里

  ultoa(unsigned long, char*, int); //將unsigned long以int進制存儲在char*數組里

  gcvt(float, int, char*);

  //將float保留int位有效數字存儲在char*數組里,四舍五入,科學計數法,注意如果是3,兩位及以上有效數字會轉化成3.,多一個小數點

  char*=ecvt(double, int, int*1, int*2);

  //將double的整數部分和int位小數去掉小數點存儲在返回值char*里,返回的int*1是小數點位置,返回的int*2是0表示正數,1表示負數

  //超出int位的部分不補零

  char*=fcvt(double, int, int*1, int*2);

  //將double的整數部分和int位小數去掉小數點存儲在返回值char*里,返回的int*1是小數點位置,返回的int*2是0表示正數,1表示負數

  //超出int位的部分補零

 

數字轉string:

  int x=3;

  string str=to_string(x); //若改成float或者double結果會自動保留6位小數,但只要是整數都沒問題,所以時間允許的話更推薦下面這種方法

  double d=3.5;

  stringstream ss;

  ss<<d;

  string s=ss.str();

  ss.clear(); //clear才能使答案正確

  ss.str(“”); //重新賦值優化空間

 

字符串轉數字:

  int=atoi(char*); //把char*轉化為int

  long=atol(char*); //把char*轉化為long

  double=atof(char*); //將char*轉化為double

 

字符串轉string:

  string str;

  str.assign(char*, int); //從char*開始的int個字符賦值給str,若省略int這個參數,則默認賦值到最后

 

string轉數字:

  int x;

  stringstream ss;

  string str;

  ss.str(str);

  ss>>x;

 

string轉字符串:

  string str;

  char*=str.c_str();

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM