标准的c++中int,float,double等怎么转换成string类
3个回答
展开全部
c++的标准作法是通过stringstream。
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main(int argc, char const *argv[])
{
stringstream ss;
string str;
int i = 1;
float f = 10.1;
double d = 100.11;
ss << i << "," << f << "," << d << endl;
ss >> str;
cout << str;
return 0;
}
运行:
1,10.1,100.11
展开全部
C++11的std::to_string
具体实现也没什么技巧,假如编译器没提供可以自己写
namespace std {
string to_string(int val) {
char buf[20];
sprintf(buf, "%d", val);
return string(buf);
}
string to_string(unsigned val) {
char buf[20];
sprintf(buf, "%u", val);
return string(buf);
}
string to_string(long val) {
char buf[20];
sprintf(buf, "%ld", val);
return string(buf);
}
string to_string(unsigned long val) {
char buf[20];
sprintf(buf, "%lu", val);
return string(buf);
}
string to_string(float val) {
char buf[200];
sprintf(buf, "%f", val);
return string(buf);
}
string to_string(double val) {
char buf[2000];
sprintf(buf, "%f", val);
return string(buf);
}
string to_string(long double val) {
char buf[20000];
sprintf(buf, "%Lf", val);
return string(buf);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我记得string类里有相关函数.可以完成相应转化的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询