下列函数可以将字符串转换为数字:
函数名 作 用
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。