Comment convertir std::wstring de type numérique(int, long, float)?
Quel est le meilleur moyen de convertir des std::wstring de type numérique, tel que int, long, float ou double?
- double possible de Comment faire pour convertir une chaîne C++ pour un int?
Vous devez vous connecter pour publier un commentaire.
Utiliser
boost::lexical_cast<>
:Ces va jeter un
boost::bad_lexical_cast
exception si la chaîne ne peut pas être convertie.L'autre option est d'utiliser Boost Qi (un sublibrary de Boost.De l'esprit):
À l'aide de Qi est beaucoup plus rapide que lexical_cast mais permettra d'augmenter votre temps de compilation.
C++0x introduit le la suite fonctions dans
<string>
:idx
est éventuellement pointeur null à la fin de la conversion dansstr
(défini par la fonction de conversion).Mieux?
Si vous ne voulez pas utiliser autre chose que le CRT de la bibliothèque, et sont heureux avec l'obtention de 0 si la chaîne ne peut pas être converti, vous pouvez enregistrer sur la gestion des erreurs, syntaxe complexe, y compris les en-têtes par
Tout dépend de ce que vous faites. C'est le BAISER de manière!
_wtof
viennent?Utilisation wstringstream /stringstream:
suffit d'utiliser la stringstream:
n'oubliez pas de
#include <sstream>
J'ai donc été à l'aide de Embarcadero et qui morceau de ..... na pas me laisser utiliser stoi, j'ai donc créer ma propre fonction.