Je dois stocker un double sous forme de chaîne. Je sais que je peux utiliser printf
si je voulais l'afficher, mais je veux juste la stocker dans une variable de type chaîne de caractères afin de pouvoir la stocker dans une carte plus tard (comme la variable valeur et non le clé ).
Upvoted pour la façon C++ 11. Je suis nouveau dans le C++, et je n'ai pas réalisé qu'il y avait un système de gestion de la qualité. to_string
fonction. J'utilise Microsoft Visual C++ 2013.
2 votes
Une question pour répondre à votre question : pourquoi stockez-vous la valeur double dans une chaîne de caractères pour la stocker dans une carte ? Allez-vous utiliser le double modifié en chaîne comme clé ? Si non, pourquoi ne pas laisser le double tel quel ?
1 votes
Point intéressant. L'utilisation d'un double comme clé de mappe peut cependant être périlleuse, car les comparaisons exactes sur des valeurs à virgule flottante le sont toujours. L'indexation sur une représentation de chaîne de caractères permet d'éviter ce problème.
0 votes
Non, le double va entrer comme valeur dans une map<string, string>. J'ai un tas de paramètres de configuration qui sont de types mixtes, et j'utilise la carte comme un endroit pratique pour les stocker tous.
2 votes
Pourquoi le convertir ? Stockez-le dans la carte comme un double, et évitez la conversion de et vers.
0 votes
Je stocke les chaînes de caractères dans la carte parce que j'ai plusieurs types à valider et à stocker.
3 votes
Ça ressemble quand même à un appel aux objets. Une union fonctionnerait. Chaque objet peut insérer diverses valeurs et s'auto valider.
2 votes
Je n'ai qu'un groupe de paires nom/valeur dans un fichier. Il ne s'agit pas d'objets.
0 votes
L'utilisation d'un double comme clé, avec ou sans conversion en chaîne, semble être une erreur de conception. Un double est flou, mais une clé doit être un identifiant unique.
0 votes
@Konstantin Je n'utilisais pas un double comme clé.