C语言将字符串转换为数字

最近做了一些需要使用字符串形势获取数字的程序,这里就牵扯到了字符串类型和数字类型的转换问题,以下是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编著 姜佑 译

  • 75
    点赞
  • 344
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值