cari

Rumah  >  Soal Jawab  >  teks badan

c++ - Bagaimana untuk menukar koordinat vektor kepada rentetan dalam format "(x=, y=)"

Kod:
string str(double dX, double dY)// Tukar koordinat vektor kepada rentetan, formatnya ialah "(x=, y=)"

{
    return "(x=" + dX + ", y=" + dY + ")";
}

Mesej ralat:
Ungkapan mesti mengandungi integer atau jenis enum tidak berskop

过去多啦不再A梦过去多啦不再A梦2737 hari yang lalu1279

membalas semua(2)saya akan balas

  • 我想大声告诉你

    我想大声告诉你2017-06-05 11:13:01

    Dua penyelesaian biasa.

    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 mungkin melimpah.

    balas
    0
  • 大家讲道理

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

    sertakan<rentetan>

    c++11 menyediakan std::to_string untuk penukaran rentetan

    Atau seperti yang dinyatakan di atas

    std::string v1(double dX, double dY) {
      std::ostringstream stream;
      stream << "(x=" << dX << ", y=" << dY << ")";
      return stream.str();
    }
    

    Mengikut prosedur poster asal, penukaran to_string adalah lebih cekap.

    Adalah disyorkan untuk mengembalikan rentetan const

    balas
    0
  • Batalbalas