Maison  >  Questions et réponses  >  le corps du texte

c++ - Comment convertir des coordonnées vectorielles en chaîne au format "(x=, y=)"

Code :
string str(double dX, double dY)// Convertit les coordonnées vectorielles en chaîne, le format est "(x=, y=)"

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

Message d'erreur :
L'expression doit contenir un type d'énumération entier ou sans portée

过去多啦不再A梦过去多啦不再A梦2715 Il y a quelques jours1261

répondre à tous(2)je répondrai

  • 我想大声告诉你

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

    Deux solutions courantes.

    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 peut déborder.

    répondre
    0
  • 大家讲道理

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

    include<string>

    c++11 fournit std::to_string pour la conversion de chaîne

    Ou comme mentionné ci-dessus

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

    Selon la procédure de l'affiche originale, la conversion to_string est plus efficace.

    Il est recommandé de renvoyer la chaîne const

    répondre
    0
  • Annulerrépondre