数字,字符串和string的相互转化
數(shù)字轉(zhuǎn)字符串:
itoa(int1, char*, int2); //將int1以int2進制存儲在char*數(shù)組里
ltoa(long, char*, int); //將long以int進制存儲在char*數(shù)組里
ultoa(unsigned long, char*, int); //將unsigned long以int進制存儲在char*數(shù)組里
gcvt(float, int, char*);
//將float保留int位有效數(shù)字存儲在char*數(shù)組里,四舍五入,科學(xué)計數(shù)法,注意如果是3,兩位及以上有效數(shù)字會轉(zhuǎn)化成3.,多一個小數(shù)點
char*=ecvt(double, int, int*1, int*2);
//將double的整數(shù)部分和int位小數(shù)去掉小數(shù)點存儲在返回值char*里,返回的int*1是小數(shù)點位置,返回的int*2是0表示正數(shù),1表示負數(shù)
//超出int位的部分不補零
char*=fcvt(double, int, int*1, int*2);
//將double的整數(shù)部分和int位小數(shù)去掉小數(shù)點存儲在返回值char*里,返回的int*1是小數(shù)點位置,返回的int*2是0表示正數(shù),1表示負數(shù)
//超出int位的部分補零
數(shù)字轉(zhuǎn)string:
int x=3;
string str=to_string(x); //若改成float或者double結(jié)果會自動保留6位小數(shù),但只要是整數(shù)都沒問題,所以時間允許的話更推薦下面這種方法
double d=3.5;
stringstream ss;
ss<<d;
string s=ss.str();
ss.clear(); //clear才能使答案正確
ss.str(“”); //重新賦值優(yōu)化空間
字符串轉(zhuǎn)數(shù)字:
int=atoi(char*); //把char*轉(zhuǎn)化為int
long=atol(char*); //把char*轉(zhuǎn)化為long
double=atof(char*); //將char*轉(zhuǎn)化為double
字符串轉(zhuǎn)string:
string str;
str.assign(char*, int); //從char*開始的int個字符賦值給str,若省略int這個參數(shù),則默認賦值到最后
string轉(zhuǎn)數(shù)字:
int x;
stringstream ss;
string str;
ss.str(str);
ss>>x;
string轉(zhuǎn)字符串:
string str;
char*=str.c_str();
總結(jié)
以上是生活随笔為你收集整理的数字,字符串和string的相互转化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器翻译评价指标 — BLEU算法
- 下一篇: 1.html5究竟是什么