字符串和数字之间的互相转换
- 将字符串转换为数字
函数:atof()
头文件:stdlib.h
函数原型:double atof( const char *string )
因为double可以转换为int ,所以该函数参数也可以是int
char str[100];
scanf("%s",str);
int a=atof(str);
printf("%d",a+1);
2.将数字转换为字符串
(1)函数:_itoa()
头文件:stdlib.h
函数原型:char * _itoa(int value, char *string, int radix)
参数1:value是你要转换的数字
参数2:string是转换后的字符串
参数3:radix是转换基数,是指value以何种进制储存在字符串中
int a=1000;
char str_8[100],str_10[100],str_16[100];
_itoa(a,str_8,8);
_itoa(a,str_10,10);
_itoa(a,str_16,16);
printf("%d以八进制储存在str_8中: %s\n",a,str_8);
printf("%d以八进制储存在str_10中: %s\n",a,str_10);
printf("%d以八进制储存在str_16中: %s\n",a,str_16);
(2)函数:sprintf()
头文件:stdlib.h
函数原型:int sprintf( char *buffer, const char *format [, argument] … )
该函数是个变参函数,也就是说除前面两个参数固定外,后可接任意多的参数
该函数功能很多,在这里只简单的说一下如何将一串数字保存在字符串中
**第一个参数:转换后的字符串**
**第二个参数:格式化字符,用来控制格式输出。如“%0.3f”,可将一个double类型的数字转换为三位小数储存在字符串中**
**第三个参数及以后的参数:带转换的数据源**
double num1=123.54321;
int num2=12345;
char str[1000];
sprintf(str,"%0.3f %d %0.4f",num1,num2,98.1564123);
printf("%s\n",str);