我希望能够编写一个如下所示的时间字符串: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