c++ - So konvertieren Sie Vektorkoordinaten in einen String im Format „(x=, y=)'
过去多啦不再A梦
过去多啦不再A梦 2017-06-05 11:11:01
0
2
1306

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

过去多啦不再A梦
过去多啦不再A梦

Antworte allen(2)
我想大声告诉你

常见的两个方案。

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可能会溢出。

大家讲道理

include<string>

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage