C语言标准库函数:将整型、长整型、浮点型数字转换为字符串的方法详解
C语言提供了几种标准库功能,可以将任何类型的数字(整数,长整数,浮点等)转换为字符串。

1.int/float到字符串/数组:
C语言提供了几种标准库功能,可以将任何类型的数字(整数,长整数,浮点等)转换为字符串。以下列出了每个函数的方法和描述。
●ITOA():将整数值转换为字符串。
●LTOA():将长整数值转换为字符串。
●ultoa():将未签名的长整数值转换为字符串。
●GCVT():将浮点数转换为字符串并围绕它们。
●ECVT():将双精度的浮点值转换为字符串,并且转换结果不包含小数点小数点。
●fcvt():将位数指定为转换精度,其余的与ecvt()相同。
此外,您还可以使用Sprintf系列功能将数字转换为字符串,该数字比ITOA()系列函数缓慢运行。
2。字符串/阵列到int/float
C/C ++语言提供了几个标准库功能,可以将字符串转换为任何类型(整数,整数,浮点等)。
●ATOF():将字符串转换为双精度浮点数。
●atoi():将字符串转换为整数值。
●atol():将字符串转换为一个长整数值。
●strtod():将字符串转换为双精度浮点数,并报告所有无法转换的剩余数字。
●strtol():将字符串转换为一个长整数值,并报告所有无法转换的剩余数字。
●strtoul():将字符串转换为无符号的长整数值,并报告所有无法转换的剩余数字。
这是使用itoa()函数将整数转换为字符串的示例:
# 包括
# 包括
空间主(void)
int num = 100;
char str [25];
itoa(num,str,10);
printf(“数字'num'为%d,字符串'str'为%s。\ n”,
num,str);
itoa()函数具有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是传输数字时使用的基数。在上面的示例中,转换基础为10.10:十进制; 2:二进制...
ITOA不是标准的C函数,它是Windows唯一的。如果您想编写跨平台程序,请使用sprintf。它是在Windows平台下扩展的。标准库包含Sprintf,其功能比此功能更强,并且其用法类似于printf:
char str [255];
sprintf(str,“%x”,100); //将100个转换为十六进制字符串。
以下功能可以将整数转换为字符串:
----------------------------------------------------------------------------- ---------
使用功能名称
----------------------------------------------------------------------------- ---------
itoa()将整数值转换为字符串
itoa()将长整数值转换为字符串
ultoa()将未签名的长整数值转换为字符串
1。ATOI() - 将字符串转换为整数
测试点:将字符串转换为数字时了解相关的ASCII代码。
C实施:
#包括
#包括
int atoi(char s []);
int主(void)
char s [100];
得到(S);
printf(“ integer =%d \ n”,atoi(s));
返回0;
int atoi(char s [])
int i,n,标志;
for(i = 0; isspace(s [i]); i ++)//跳过whitespace;
sign =(s [i] ==' - ')? - 1:1;
if(s [i] =='+'|| s [i] ==' - ')//跳过符号
i ++;
for(n = 0; isDigit(s [i]); i ++)
n = 10*n+(s [i] - '0'); //将数字字符转换为塑料数字
返回标志 *n;
C ++实施:
1 #include
2使用命名空间std;
4 int str2int(const char *str)
5 {
6 int temp = 0;
7 const char *ptr = str; // PTR保存Str String的开头
9 if( *str ==' - '|| *str =='+')//如果第一个字符是一个正符号和负号,
10 {//移至下一个字符
11 str ++;
12}
13 while(*str!= 0)
14 {
15如果((*str <'0')||(*str>'9'))//如果当前字符不是数字
16 {//退出循环
17休息;
18}
19 temp = temp * 10 +( * str -'0'); //如果当前字符是数字,请计算数字值
20 str ++; //转到下一个角色
21 }
22如果(*ptr ==' - ')//如果字符串以“ - ”开头,则将转换为相反的数字
23 {
24 temp = -temp;
25}
26
27返回温度;
28}
29
30 int main()
31 {
32 int n = 0;
33 char p [10] =“”;
34
35 Cin.Getline(P,20); //从终端获取一个字符串
36 n = str2int(p); //将字符串转换为整数号码
37
38 cout = 0; j-)//生成的数字是相反的顺序,因此输出必须成反。输出。
printf(“%c”,s [j]);
它是int转换字符串类型的函数
C ++实施:
1 #include
2使用命名空间std;
4 void int2str(int n,char *str)
5 {
6 char buf [10] =“”;
7 int i = 0;
8 int len = 0;
9 int temp = n <0? -n:n; //温度的绝对值为n
10
11 if(str == null)
12 {
13返回;
14}
15时(温度)
16 {
17 buf [i ++] =(temp%10)+'0'; //将临时数量的数字保存到buf中
18温度= temp / 10;
19}
20
21 len = n <0? ++ i:i; //如果n是负数,则需要再增加一位来存储负数
22 str [i] = 0; //结尾是结尾字符0
23而(1)
24 {
25 i--;
26 if(buf [len-i-1] == 0)
27 {
28休息;
29}
30 str [i] = buf [len-i-1]; //将BUF数组中的字符复制到字符串
31}
32 if(i == 0)
33 {
34 str [i] =' - '; //如果是负数,请添加一个负标志
35}
36}
37
38 int main()
39 {
40 int nnum;
41 char p [10];
42
43 cout> nnum;
45 cout