如何将变量string []转换为float

时间:2018-02-27 15:41:29

标签: c++ visual-c++ visual-studio-2012

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

这是我的代码:

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

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

这就是显示的内容:

  

-1 #lND

有关我可能做错的任何建议吗?

1 个答案:

答案 0 :(得分:4)

阅读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/

中找到更多信息