Heim > Fragen und Antworten > Hauptteil
Code:
string str(double dX, double dY)// Vektorkoordinaten in String konvertieren, das Format ist „(x=, y=)“
{
return "(x=" + dX + ", y=" + dY + ")";
}
Fehlermeldung:
Ausdruck muss eine Ganzzahl oder einen Aufzählungstyp ohne Gültigkeitsbereich enthalten
我想大声告诉你2017-06-05 11:13:01
常见的两个方案。
std::string v1(double dX, double dY) {
std::ostringstream stream;
stream << "(x=" << dX << ", y=" << dY << ")";
return stream.str();
}
std::string v2(double dX, double dY) {
char buff[1024];
sprintf(buff, "(x=%f, y=%f)", dX, dY);
return buff;
}
v2可能会溢出。
大家讲道理2017-06-05 11:13:01
c++11 提供std::to_string 用于字符串转换
或者如楼上所言
std::string v1(double dX, double dY) {
std::ostringstream stream;
stream << "(x=" << dX << ", y=" << dY << ")";
return stream.str();
}
按照楼主的程序还是to_string转换效率高一些。
建议返回 const string