Heim  >  Fragen und Antworten  >  Hauptteil

c++ - So konvertieren Sie Vektorkoordinaten in einen String im Format „(x=, y=)“

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梦2715 Tage vor1259

Antworte allen(2)Ich werde antworten

  • 我想大声告诉你

    我想大声告诉你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可能会溢出。

    Antwort
    0
  • 大家讲道理

    大家讲道理2017-06-05 11:13:01

    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

    Antwort
    0
  • StornierenAntwort