Conversion de std::string en Double avec atof
Lorsque vous essayez de convertir un std::string en double à l'aide de la fonction atof, certains programmeurs rencontrent un problème où il renvoie systématiquement zéro. Pour résoudre ce problème, le code révisé suivant est recommandé :
std::string num = "0.6"; double temp = ::atof(num.c_str());
Le double deux-points (::) avant atof spécifie que nous appelons la fonction globale, qui est nécessaire pour résoudre le problème.
Approches alternatives
Bien que atof soit une option valide pour la conversion de chaîne en double, il existe d'autres approches pour considérez :
Considérations supplémentaires pour les projets Qt
Pour les projets Qt en particulier, l'utilisation de QString::toDouble() est recommandée :
QString winOpacity("0.6"); double temp = winOpacity.toDouble();
Pour des performances optimales lors du traitement de const char*, QByteArray::toDouble() doit être préféré.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!