在C语言中,如何将整数转换为带前导零的字符串?
如果整数只有一个数字,如何将C中的在C语言中,如何将整数转换为带前导零的字符串?,c,C,如果整数只有一个数字,如何将C中的整数转换为字符串,并包含前导零结果需要打印到LCD显示屏,而不需要打印到控制台 #include <stdio.h> #include <stdlib.h> int main () { int i = 7; char buffer[10]; itoa(buffer, i, 10); printf ("decimal: %s\n",buffer); return 0; } #包
整数
转换为字符串
,并包含前导零结果需要打印到LCD显示屏,而不需要打印到控制台
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int i = 7;
char buffer[10];
itoa(buffer, i, 10);
printf ("decimal: %s\n",buffer);
return 0;
}
#包括
#包括
int main()
{
int i=7;
字符缓冲区[10];
itoa(缓冲液,i,10);
printf(“十进制:%s\n”,缓冲区);
返回0;
}
此代码将打印7
,但我需要它是07
。
但是大于10的数字,例如:
77
应该保持不变。您可以使用sprintf
函数和格式说明符%02d
强制包含前导零:
#包括
#包括
int main()
{
int i=7;
字符缓冲区[10];
//itoa(缓冲液,i,10);
sprintf(缓冲区,“%02d”,i);
printf(“十进制:%s\n”,缓冲区);
返回0;
}
您可以使用sprintf
函数和%02d
格式说明符来强制包含前导零,而不是itoa
:
#包括
#包括
int main()
{
int i=7;
字符缓冲区[10];
//itoa(缓冲液,i,10);
sprintf(缓冲区,“%02d”,i);
printf(“十进制:%s\n”,缓冲区);
返回0;
}
您需要添加一个条件if语句,该语句检测被解析的整数是否小于“10”,并且大于0,我假设。这是否回答了您的问题@kaylum他问的是字符串,不是整数转换。参考文章使用printf
打印到标准输出。如果要将其用作缓冲区,请使用snprintf
,但格式字符串相同。使用sprintf
或snprintf
无需打印到任何输出设备。它写入与您在itoa
调用中使用的字符串相同的字符串。您需要添加一个条件if语句,该语句检测正在解析的整数是否小于“10”,并且大于0,我假定。这是否回答了您的问题@kaylum他问的是字符串,不是整数转换。参考文章使用printf
打印到标准输出。如果要将其用作缓冲区,请使用snprintf
,但格式字符串相同。使用sprintf
或snprintf
无需打印到任何输出设备。它写入与您在itoa
调用中使用的相同字符串。