目录
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门
在 stdlib.h
中 atof
函数,可用于将 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);
/******************************************************************************************/ //@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
未经允许不得转载:猿说编程 » C/C++ strtod 函数
本文由博客 - 猿说编程 猿说编程 发布!