最近做了一些需要使用字符串形势获取数字的程序,这里就牵扯到了字符串类型和数字类型的转换问题,以下是C语言中,字符串类型转换为数字类型的方法。

1.问题描述

数字既能以字符串形式储存,也能以数值形式储存,把数字储存为字符串就是储存数字字符。例如,数字213以’2’, ‘1’、‘3’,’\0’的形式被储存在字符串数组中。
C要求用数值形式进行数值运算(如,加法和比较)。但是在屏幕上显示数字则要求字符串形式,因为屏幕显示的是字符。printf()和sprintf ()函数,通过%d和其他转换说明,把数字从数值形式转换为字符串形式,scanf()可以把输入字符串转换为数值形式。C还有一些函数专门用于把字符串形式转换成数值形式。

2.atoi(),atof(),atol()函数

2.1 将字符串转化为int型

atoi()函数

char str[]="123465";
int i=atoi(str);
printf("%d",i);

转换结果
在这里插入图片描述

2.2将字符串转换为double类型
char str[]="123465";
double i=atof(str);
printf("%f",i);

转换结果
在这里插入图片描述

2.3将字符串转化为long类型
    char str[]="123465";
    long i=atol(str);
    printf("%ld",i);

转换结果
在这里插入图片描述

参考书籍:《C Primer Plus (第六版)中文版》 Stephen Prata编著 姜佑 译

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐