文章目录
先介绍三个库函数:atoi、atol、atof,可分别把ASCII编码的字符串转化为int、long、float类型的数字。
头文件:stdlib.h
对于整型(int型)
对于 0~9之间的数字基础方法
原理:ASCII码中,字符‘0’~‘9’对应的ASCII值与字符’0’的差值即为数值。如:
- 字符‘8’的ASCII码值是56;
- 字符‘0’的ASCII码值是48;
- ‘8’-‘0’可等价转换成 56 – 48 = 8。
所以可以这样进行转换:
#include<stdio.h>
int main()
{
char a[5]={ "246"};
int b[5];
for(int i=0;i<3;i++)
{
b[i]=a[i]-48;
printf("%d",b[i]);
}
return 0;
}
使用库函数atoi
#include<stdio.h>
#include<stdlib.h>
int main()
{
char a[10];
int t;
gets(a);
t=atoi(a);
printf("%d",t);
return 0;
}
对于(long型)使用库函数atol
#include<stdio.h>
#include<stdlib.h>
int main()
{
char a[20];
long t;
gets(a);
t=atol(a);
printf("%ld",t);
return 0;
}
对于浮点型(float)使用库函数atof
#include<stdio.h>
#include<stdlib.h>
int main()
{
char a[20];
float t;
gets(a);
t=atof(a);
printf("%f",t);
return 0;
}
以上是对字符串的处理,大佬们有补充的请评论。谢谢!