📜  如何将字符串转换为双 C++ (1)

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

如何将字符串转换为双精度浮点型(double) in C++

在C++中,可以使用标准库函数 atof 将字符串转换为双精度浮点型 double。该函数定义在 <cstdlib> 头文件中。

下面是 atof 函数的语法:

double atof(const char* str);

其中 str 是要转换的字符串。该函数返回一个 double 类型的值,表示转换后的双精度浮点数。

为了使用 atof 函数,我们需要将要转换的字符串作为参数传递给函数,并且函数会返回一个 double 类型的值。例如:

#include <iostream>
#include <cstdlib>

int main()
{
    const char* str = "3.1415926";
    double num = atof(str);
    std::cout << "The converted double value is: " << num << std::endl;
    
    return 0;
}

在上面的示例中,使用 atof 函数将字符数组 "3.1415926" 转换为双精度浮点数,然后将其赋值给 double 型变量 num。最后输出 num 的值。

此外,可以使用以下方法将 C++ 中的字符串 string 类型转换为 double 类型:

#include <iostream>
#include <string>
#include <sstream>

double string_to_double(const std::string& str)
{
    std::istringstream iss(str);
    double num;
    iss >> num;
    return num;
}

int main()
{
    std::string str = "3.1415926";
    double num = string_to_double(str);
    std::cout << "The converted double value is: " << num << std::endl;
    
    return 0;
}

上述代码使用了流操作符 >>,将字符串 str 输入到流中,并通过流将其转换为 double 类型。

总结:

  • 使用标准库函数 atof 可以将C风格字符串(字符数组)转换为双精度浮点型 double
  • 可以使用流操作符 >> 和输入输出流 istringstream 将字符串类型 string 转换为 double 类型。