C/C++ strtod函数

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门


一.strtod函数简介

stdlib.hatof 函数,可用于将 char 字符串转为 float / double 浮点数类型,而 C 语言strtod 函数,同样也能将 char 字符串转为 float / double 类型,语法如下:

/*
*描述:strtod函数会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,
*       到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。
*       若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。
*       参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。
*
*参数: 
*   [in] nptr:字符串类型
*   [out] endptr:字符串类型
*   
*返回值:返回char类型对应的浮点数double
*/
double strtod(const char *nptr, char **endptr);

二.strtod函数函数实战

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C/C++ strtod函数
//@Time:2021/08/15 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/

#include "stdafx.h"
#include <stdio.h>
#include "windows.h"

#pragma warning(disable: 4996)

int _tmain(int argc, _TCHAR* argv[])
{
    char *pOutStr;
    char szStr1[] = "12345.6789";
    char szStr2[] = "1234.567www.codersrc.com";
    char szStr3[] = "-232.23e4";

    printf("szStr1=%lf\n", strtod(szStr1, NULL));
    printf("szStr2=%lf\n", strtod(szStr2, &pOutStr));//获取字符串部分
    printf("pOutStr=%s\n", pOutStr);
    printf("szStr3=%lf\n", strtod(szStr3, NULL));

    system("pause");
    return 0;
}
/*
输出
szStr1=12345.678900
szStr2=1234.567000
pOutStr=www.codersrc.com
szStr3=-2322300.000000
请按任意键继续. . .
*/

注意占位符的使用:

浮点是使用 %f
整数是使用 %d
char字符是使用 %c
char字符串是使用 %s

三.猜你喜欢

  1. C语言 数组下标越界和内存溢出区别
  2. C语言 使用指针遍历数组
  3. C语言 指针和数组区别
  4. C语言 指针数组和数组指针区别
  5. C语言 野指针
  6. C语言 函数值传递和址传递
  7. C语言 函数不定长参数
  8. C语言 函数指针
  9. C语言 指针函数
  10. C语言 回调函数 callback
  11. C语言 #pragma once
  12. C语言 #include <> 与 #include “” 区别
  13. C语言 const 修饰函数参数
  14. C语言 const 和 define 区别
  15. C语言 #运算符
  16. C语言 ##运算符
  17. C语言 __VA_ARGS__
  18. C语言 ##__VA_ARGS__
  19. C语言 函数不定长参数 ##__VA_ARGS__经典案例
  20. C语言 va_start / va_end / va_arg 自定义 printf 函数
  21. C语言 main 函数
  22. C语言 main 函数参数 main(int argc, char *argv[])
  23. C语言 局部变量
  24. C语言 全局变量
  25. C语言 全局变量和局部变量区别
  26. C语言 static
  27. C语言 extern
  28. C/C++ Unicode 和多字节区别
  29. C/C++ wprintf 输出中文乱码
  30. C/C++ char 和 wchar_t 相互转换

未经允许不得转载:猿说编程 » C/C++ strtod函数
喜欢(1) 打赏

评论抢沙发

评论前必须登录!

不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!!

开始学习

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏