%% -返回百分号
%b –返回二进制数
%c –返回与ASCII值相对应的字符
%d –带有正负号的十进制数
%e –科学计数符号(如:1.2e+2)
%u –不带正负号的十进制数.%ul 不带符号的长整型
%f – 浮点数据(本地设置)
%F –浮点数据(非本地设置)
%o –八进制数
%s –字符串
%x –十六进制数(小写字母) 例如:sprintf(s, "%#010x", 128); //产生"0x00000080"
%X –十六进制数(大写字母)
如果%后面有数字的,比如:%2f, %2.3f这些,%m.n之类的,小数点前面的m表示整个数的位数,
n则表示小数点有多少位:
double a = 326.3845;
printf("%10.3f\n", a);
结果是:
326.385(注意前面是有空格的)
由此可见,这里采取的是四舍五入法。
如果m前面还有字符的话,则表示上述结果前面的空格用那个字符来补全:
printf("%04d", 3);
结果为:
0003