📜  c++ std string to float - C++ (1)

📅  最后修改于: 2023-12-03 14:39:50.379000             🧑  作者: Mango

C++中的字符串转换为浮点数

在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_argumentstd::out_of_range异常。因此,在使用之前,需要进行判断或者捕获异常。

另外,如果需要高精度的数值计算,建议使用boost::multiprecision库进行计算。

参考资料: