如何将变量字符串[]转换为浮点数

How convert variable string [] to float

如何将字符串转换为浮点数?

这是我的代码:

string A[3] = {"20","21"};
float convertA ;

convertA = atof (A[1]) ;
cout << convertA << endl ;

这是显示的内容:

-1 #lND

对我可能做错的地方有什么建议吗?

阅读 atof() 的手册页,convertA 应该是 double 的类型。

double atof (const char* str);

convertA = atof (A[1]) ; /* it won't work */

应该是

convertA = atof(A[1].c_str());

工作代码

#include<iostream>
#include<stdlib.h>
int main() {
        std::string A[3] = {"20","21"};
        double convertA ;

        //convertA = atof (A[1]) ;
        convertA = atof(A[1].c_str());
        std::cout << convertA << std::endl ;

        return 0;
}

编辑: 将字符串转换为浮点数,您可以使用 stof() 而不是 atof()。在此处找到更多信息 http://www.cplusplus.com/reference/string/stof/