C:字符串转数字

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
	char * str1 = "52";
	char * str2 = "52abc";
	
	printf("str1 = %d\n", atoi(str1));
	printf("str2 = %d\n", atoi(str2));
	
	return 0;
}

输出:
str1 = 52
str2 = 52

atoi():将输入字符串转为整数,函数会检索字符串一直到遇到第一个非数字值为止,如果无任何数字则返回0。

atof():将字符串转为float类型数值。

atol():将字符串转为long类型数值,都是类似用法。

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
	char * str = "52abc";
	char *  end;
	
	long value = strtol(str, &end, 10);
	
	printf("value = %ld\n", value);
	printf("end = %s\n", end);
	
	return 0;
}

输出:
value = 52
end = abc

strtol(const char * nptr, char **endptr, int base):将字符串转为long类型,第一个参数为字符串地址,第二个参数为输入数字结束字符指针地址,代码中到字符a截止,因此end变为字符a所处位置的地址,参数三为进制。

strtoul()函数与strtol类似,将字符串转为无符号long类型。

strtod(const char * nptr, char **endptr):将字符串转为double类型,无第三个参数,其余一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值