2010-07-22 89 views

回答

12

帶格式代碼(如%02d)的sprintf會給你兩位小數。

這是命令 sprintf(string,「file。%d」,file_number);

這裏它將字符串「file.2」放入名爲string的變量中,假設2位於名爲file_number的變量中。

您可以使用多個像這樣: sprintf(str,「%02d /%02d /%4d」,day,month,year);

查找sprintf上的規格以獲取其他類型的浮點重要數字格式。

+0

愚蠢的問題 - 爲什麼'%02d'而不是'%2d'?是否需要前導零?如果是這樣,爲什麼'%4d'確定? – Steve314 2010-07-22 01:03:02

+0

@ Steve314:'%2d'將用空格填充,'%02d'用0填充。 '%4d'大概可以,因爲代碼只能指定999年以後的工作;) – caf 2010-07-22 01:05:57

+0

@caf - 好的,我想我們可以容忍那個特殊的千年蟲 – Steve314 2010-07-22 01:11:24

2
printf("%02d", 9); 
3

隨着"%02d",如果你喜歡,你可以使用"%2.2d"。後者的風格很方便/如果實際寬度在一個變量中,所以你這樣做:

int width = 2; 
int value = 9; 

printf("%*.*d", width, width, value); 
+0

'%2.2d'中的第一個'2'是多餘的 - '%.2d'就足夠了。 – caf 2010-07-22 01:09:32