c - 如何填充 printf 以考虑负号和可变长度数字?

我正在尝试在日志文件中输出一些数字,我想通过 printf 函数填充大量 float 以生成:

 058.0
 020.0
 038.0
-050.0
 800.0
 150.0
 100.0

目前我正在这样做:

printf("% 03.1f\n", myVar);

...其中 myVar 是一个 float 。该语句的输出如下所示:

58.0
20.0
38.0
-50.0
800.0
150.0
100.0

来自 what I've read我希望我的代码能够产生我在这篇文章顶部提到的输出,但显然有问题。一次只能使用一个标志吗? ..还是这里发生了其他事情?

最佳答案

宽度说明符是完整的宽度:

printf("%05.1f\n", myVar);  // Total width 5, pad with 0, one digit after .

要获得您期望的格式:

printf("% 06.1f\n", myVar);

https://stackoverflow.com/questions/5325169/

相关文章:

java - 只想看到 Allman 样式代码并保存 K&R 样式代码

iphone - 如何使用 iPhone SDK 将 TimeStyle AM/PM 设置为小写

java - 如何在 Java 中按语言环境格式化日期?

c - 打印 printf 中正数的前导 '+'

formatting - 如何在 Erlang 中使用填充格式化数字

coding-style - 在 TextMate 中显示 80 个字符的边距线

xml - XSL - 舍入/格式数字问题

formatting - EditorConfig vs. Eslint vs. Prettier

eclipse - 有没有办法在 Eclipse 中手动折叠代码?

date - 如何使用 PowerShell 将 'date-1' 格式化为 mm-dd-yyyy?