本期介绍
主要介绍:atof()、atoi()、atol()函数是如何使用的,分别有那些功能,以及在使用时一些值得注意的点。
文章目录
- 一、前言
- 二、atof()函数
- 三、atoi()、atol()函数
一、前言
C语言提供了一些可以将数字字符串转换成数字的一些库函数,例如atof()、atoi()、atol()函数。下面分别介绍这些函数的功能:
- atof()函数:将字符串转换成double型数据。
- atoi()函数:将字符串转换成int型数据。
- atol()函数:将字符串装换成long int型数据。
注意:如果输入无法转换成该类型的数据,则返回值为0。
二、atof()函数
double atof( const char *string );
在VS编译器中atof()库函数在调用前需要先引用两个头文件和
。atof()函数需要传一个字符串作为参数,且该字符串需要具有一定的格式:
1.科学计数法形式:
[空格][+/-][数字][.数字][ {d |D |e |E }[+/-]数字]
2.小数形式:[空格][+/-][数字][.数字]
atof()会扫描参数字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而后严格按照格式要求来判断,直到格式违规或遇到字符串结束标志‘\0’才会结束转换,返回一个double类型的数据。举几个例子:
三、atoi()、atol()函数
int atoi( const char *string );
long atol( const char *string );
在VS编译器中atoi()和atol()函数需要引用一个头文件。这两个函数在传参部分没什么差别,只是在函数返回值部分有所差别:atoi()返回的是一个int型数据,atol()返回的是一个long int型数据。
传参的字符串也有一定的格式:[空格][+/-][数字]
。和atoi()、atol()函数会先扫描参数字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而后直到遇见非数字字符或字符串结束标志‘\0’才会结束转换,返回一个数值。举几个例子:
注意:如果atof()函数、atio()函数、atol()函数的返回值大于其返回类型的最大值就会出现溢出现象,从而导致传回来数据的某部分丢失。