我希望能夠編寫一個如下所示的時間字符串:1:04:02.1 hours
using printf。
當我嘗試寫這樣的事:當使用printf打印浮動時,額外的前導零?
printf("%d:%02d:%02.1f hours\n", 1, 4, 2.123456);
我得到:
1:04:2.1 hours
是否有可能前導零添加到一個浮動的格式?
我希望能夠編寫一個如下所示的時間字符串:1:04:02.1 hours
using printf。
當我嘗試寫這樣的事:當使用printf打印浮動時,額外的前導零?
printf("%d:%02d:%02.1f hours\n", 1, 4, 2.123456);
我得到:
1:04:2.1 hours
是否有可能前導零添加到一個浮動的格式?
對於%f
格式說明符,「2」被視爲總共最少字符數,而不是小數點之前的位數。因此,您必須將其替換爲4以獲得兩位前導數字+小數點+一位十進制數字。
printf("%d:%02d:%04.1f hours\n", 1, 4, 2.123456);
嘗試%04.1f
而不是%02.1f
。這裏的「4」表示至少要打印4個字符,「2.1」有3個(> 2)個字符,因此要啓用需要的填充零。0
很好,有用。爲2位小數,那麼你需要%05.2f – steveh 2013-03-14 10:05:50
有非浮動的這個也很好! – wuppi 2016-08-24 12:59:44