本文主要是介绍字符串和数字之间的互相转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
字符串和数字之间的互相转换
- 将字符串转换为数字
函数: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);
这篇关于字符串和数字之间的互相转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!