字符串和数字之间的互相转换

  1. 将字符串转换为数字
    函数: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);