📅  最后修改于: 2023-12-03 14:39:50.379000             🧑  作者: Mango
在C++中,可以使用标准库的std::stof
函数将字符串转换为浮点数。它的函数原型如下:
float stof (const std::string& str, size_t* idx = 0);
其中,str
参数是要转换的字符串,idx
是可选参数,指向存储未转换字符串的最后一个字符的指针。
下面是一个例子代码,演示如何使用std::stof
函数:
#include <iostream>
#include <string>
int main()
{
std::string str = "3.14";
float f = std::stof(str);
std::cout << str << " 转换为浮点数为:" << f << std::endl;
return 0;
}
输出结果为:
3.14 转换为浮点数为:3.14
需要注意的是,在字符串无法转换为浮点数时,std::stof
会抛出std::invalid_argument
或std::out_of_range
异常。因此,在使用之前,需要进行判断或者捕获异常。
另外,如果需要高精度的数值计算,建议使用boost::multiprecision
库进行计算。
参考资料: