📅  最后修改于: 2023-12-03 14:53:03.899000             🧑  作者: Mango
在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
类型。