📜  C++中的std :: stof(1)

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

C++中的std::stof

在C++中,std::stof是一个用于将字符串转换为浮点数的标准库函数。它位于<string>头文件中,并且属于std命名空间。

函数原型:
float stof (const string& str, size_t* pos = 0);
参数:
  1. str:需要转换为浮点数的字符串。
  2. pos:可选参数,指向一个对象的指针,用于存储转换停止的位置。如果不需要此信息,可以将其设置为nullptr。
返回值:

该函数返回一个浮点数,由字符串转换而来。

异常:

如果提供的字符串无法转换为有效的浮点数,std::invalid_argument异常将被抛出。如果转换结果超出了浮点数类型的范围,std::out_of_range异常将被抛出。

用法示例:
#include <iostream>
#include <string>

int main() {
    std::string str = "3.14";
    float f = std::stof(str);

    std::cout << "转换后的浮点数:" << f << std::endl;

    return 0;
}
示例解释:

上述代码片段中,我们将字符串"3.14"传递给std::stof函数进行转换,得到了对应的浮点数3.14。然后将转换后的浮点数输出到标准输出流。

注意事项:
  1. std::stof函数对于字符串中的空格会自动跳过。
  2. 如果转换过程中遇到非数字字符或者无效的浮点数格式,将会停止转换,并抛出异常。
  3. std::stof函数只能进行单精度的浮点数转换,如果需要双精度转换,请使用std::stod函数。

参考文档:std::stof - C++ Reference