添加多于一个数字时 Printf 不对齐
Printf not aligned when more than one extra digit is added
我正在尝试在类似 table 的输出中对齐多个变量。
我目前正在使用填充,但看不到如何正确对齐输出。
我打印变量:
printf("\n %15s", name);
printf("%15d", level);
然后我反复调用下一个函数,一切正常,除非有一个以上的数字。
printf("%11dhr %.1fmn",t,t2);
将变量定义为 int t;
和 float t2;
(或 double t2;
),就像现在一样 %.1f
打印 t2
和 一位小数点后的数字。这是 精度说明符。
对于对齐,您还需要包括 宽度说明符(要打印的最少字符数,如果可用的字符数较少,则用空格填充)。这应该包括小数点和精度数字。因此,如果 t2
的整数部分在以 2 个字符打印时适合,则需要将宽度设置为 4。对于给定的示例,这应该有效:
printf("%11dhr %4.1fmn", t, t2);
我正在尝试在类似 table 的输出中对齐多个变量。 我目前正在使用填充,但看不到如何正确对齐输出。 我打印变量:
printf("\n %15s", name);
printf("%15d", level);
然后我反复调用下一个函数,一切正常,除非有一个以上的数字。
printf("%11dhr %.1fmn",t,t2);
将变量定义为 int t;
和 float t2;
(或 double t2;
),就像现在一样 %.1f
打印 t2
和 一位小数点后的数字。这是 精度说明符。
对于对齐,您还需要包括 宽度说明符(要打印的最少字符数,如果可用的字符数较少,则用空格填充)。这应该包括小数点和精度数字。因此,如果 t2
的整数部分在以 2 个字符打印时适合,则需要将宽度设置为 4。对于给定的示例,这应该有效:
printf("%11dhr %4.1fmn", t, t2);