喜欢:
string num = "-0.25";
如何将其转换为带符号的浮点数?
答案 0 :(得分:2)
C ++ 11:std::stof(num)
转换为float
;对stod
double
和stold
long double
也是std::strtod
。
历史上:std::atof
(如果您不需要检查错误,则为{{1}});或字符串流。
答案 1 :(得分:1)
strtod()
是一个不错的选择。
我不知道C ++是否有其他赌注。
答案 2 :(得分:1)
std::stof
功能应该可以正常工作。
答案 3 :(得分:1)
您可以使用istringstream
:
std::string num = "-0.25";
std::istringstream iss ( num);
float f_val = 0;
iss >> f_val;
答案 4 :(得分:0)
您可以使用atof
功能。
http://www.cplusplus.com/reference/cstdlib/atof/
对于C ++,您也可以使用std::stof
http://www.cplusplus.com/reference/string/stof/
答案 5 :(得分:0)
您可以使用函数atof将字符串转换为带符号的float。喜欢:
float myValue = (float)atof("0.75");
请注意,您还应检查传递的值是否为有效数值,否则行为可能无法预测。
string mystr ("1204");
int myint;
stringstream(mystr) >> myint;