下列函数可以将字符串转换为数字:
函数名 作 用
atof() 将字符串转换为双精度浮点型值
atoi() 将字符串转换为整型值
atol() 将字符串转换为长整型值
strtod() 将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字
strtol() 将字符串转换为长整值,并报告不能被转换的所有剩余数字
strtoul() 将字符串转换为无符号长整型值,并报告不能被转换的所有剩余数字
(1)下面的实例演示了 atof() 函数的用法。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
float val;
char str[20];
strcpy(str, "98993489");
val = atof(str);
printf("字符串值 = %s, 浮点值 = %f\n", str, val);
strcpy(str, "runoob");
val = atof(str);
printf("字符串值 = %s, 浮点值 = %f\n", str, val);
return(0);
}
编译并运行上面的程序,产生以下结果:
字符串值 = 98993489, 浮点值 = 98993488.000000
字符串值 = runoob, 浮点值 = 0.000000
(2)以下是用atoi()函数将字符串转换为整数的例子:
# include <stdio. h>
# include <stdlib. h>
void main (void) ;
void main (void)
{
int num;
char * str = "100";
num = atoi(str);
printf("字符串值 = %s, 整型值 = %d\n",str, num);
}
让我们编译并运行上面的程序,这将产生以下结果:
字符串值 =100, 整型值 = 100
atoi()函数只有一个参数,即要转换为数字的字符串str。atoi()函数的返回值就是转换所得的整型值num。