📜  C C++中的strtod()函数(1)

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

C/C++中的strtod()函数


strtod()是C/C++中的一个标准库函数,其功能是将字符串转化为双精度浮点数(double)。在字符串中,函数会从第一个非空白字符开始解析,直到无法解析为止。

头文件

在使用strtod()函数前,需要包含头文件或 <stdlib.h>。

#include <cstdlib>
// 或
#include <stdlib.h>
函数原型

strtod()函数的原型如下:

double strtod(const char* str, char** endptr);
  • 第一个参数str:要被转化为double的字符串。
  • 第二个参数endptr:指向字符指针的指针,用于存储未被转换的字符串部分的地址。如果第一个字符不能被转换成数字或无可识别数字,则将其指针赋值给endptr。
返回值

如果可以被转化为双精度浮点数,则返回其值。如果无法转化,则返回0.0。

示例代码

以下示例展示如何使用strtod()函数将字符串转化为double。

#include <stdio.h>
#include <stdlib.h>

int main()
{
  char str[] = "3.1415926 test";
  char *endptr;
  double num;

  num = strtod(str, &endptr);
  printf("将%s转化为双精度浮点数为%lf\n", str, num);
  printf("未被转换的字符串部分为%s\n", endptr);

  return 0;
}

输出结果:

将3.1415926 test转化为双精度浮点数为3.141593 未被转换的字符串部分为 test

总结

通过本文,我们了解到了C/C++中的strtod()函数。它可以将字符串转化为双精度浮点数,并且函数具有一定的健壮性。