C++ Convertir une Chaîne en Double
J'ai essayé de trouver la solution à ce tous les jours! Vous pouvez étiqueter cette re-post, mais ce que je suis vraiment à la recherche d'une solution sans utilisation de boost lexicale cast. Un traditionnel C++ façon de le faire serait génial. J'ai essayé ce code mais il renvoie à un ensemble de charabia des chiffres et des lettres.
string line;
double lineconverted;
istringstream buffer(line);
lineconverted;
buffer >> lineconverted;
Et je alse essayé cela, mais il renvoie TOUJOURS 0.
stringstream convert(line);
if ( !(convert >> lineconverted) ) {
lineconverted = 0;
}
Merci d'avance 🙂
EDIT: Pour la première solution que j'ai utilisée (charabia).. Voici un aperçu
"charabia de chiffres et de lettre", le tout dans une variable de type double? Comment?
Quel est le contenu de
Un double de la valeur "50000"
J'ai posté une photo
Que "charabia" dans l'image n'est pas du charabia, c'est une façon de représenter un très petit nombre: en.wikipedia.org/wiki/Scientific_notation#E_notation bien sûr, ce n'est pas le numéro que vous vouliez.
Quel est le contenu de
line
?Un double de la valeur "50000"
J'ai posté une photo
Que "charabia" dans l'image n'est pas du charabia, c'est une façon de représenter un très petit nombre: en.wikipedia.org/wiki/Scientific_notation#E_notation bien sûr, ce n'est pas le numéro que vous vouliez.
OriginalL'auteur PJ_Boy | 2013-05-25
Vous devez vous connecter pour publier un commentaire.
La bonne chose est, que cette solution fonctionne pour d'autres aussi, comme les entiers, etc.
Si vous souhaitez utiliser plusieurs fois le même tampon, vous devez faire
ss.clear
entre les deux.Il y a aussi un court de solution, où vous pouvez initialiser la valeur d'un stringstream et le rincer à une double en même temps:
OriginalL'auteur Devolus
Depuis C++11, vous pourriez utiliser
std::stod
fonction:Mais la solution avec
std::stringstream
aussi correct:stod' is not a member of
std'Êtes-vous sûr que vous avez le C++11 est-il activé?
Je suis novice en C++, de m'éclairer 'comment' s'il vous plaît 🙂
utilisation
g++ -std=c++0x
Êtes-vous à l'aide de MSVS? Quelle version?
OriginalL'auteur awesoon
Si vous souhaitez stocker (pour un vecteur par exemple) tous les doubles, d'une ligne
OriginalL'auteur Avraam Mavridis