C语言 int/float/double 数值转成字符串的方法或者函数

譬如,有
int a=1234;
由a得到字符串 "1234"
如何实现?
还请问一下
itoa这个函数要哪个头文件?还是不需要?

对于int型,可以调用函数itoa。
char*itoa(int value,char*string,int radix);
功能为将任意类型的数字转换为字符串。
int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等。

float和double类型没有特定的转换函数。

不过不论是float, double还是int,都可以通过sprintf函数进行转换。
sprintf类似于printf,都是按照格式化字符串输出参数到目标。不过printf是输出到终端,而sprintf是输出到第一个参数的字符串中。
定义
int i;
float f;
double d;
再定义字符串空间
char buf[100];
调用
sprintf(buf, "%d",i);
sprintf(buf, "%f",f);
sprintf(buf, "%lf",d);
就可以分别把int, float, double转换成值对应的字符串。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-27
itoa能把整数转换为字符串,但它不是C语言标准库函数。
其实这么简单的问题,自己写一个啦。
把int 的 1234 用取模逐位地取出来,跟 0~9 比较,再转化为字符。
效率肯定比itoa低,但好歹能锻炼自己的实现能力。
第2个回答  推荐于2018-02-27
#include <stdlib.h>
#include <stdio.h>

int main(void)
{int number;
char string[25];
scanf("%d",&number);
itoa(number, string, 10);
printf("integer = %d string = %s\n", number, string);
return 0;
}
atoi: 把字符串转换成整型数
itoa:把整数转换为字符串本回答被提问者和网友采纳
相似回答