如何将字符串转换为浮点数?
这是我的代码:
string A[3] = {"20","21"};
float convertA ;
convertA = atof (A[1]) ;
cout << convertA << endl ;
这就是显示的内容:
-1 #lND
有关我可能做错的任何建议吗?
答案 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/