Java 格式化字符串间距
Java Format String Spacing
我一直在浏览论坛以找到对此的确切答案,但未能找到。这是我的代码:
String item = String.format("%-6s $%-6.2f Number in Inventory: %-3d", this.getBarcode(), this.getPrice(), this.getInventory());
两个项目的输出看起来像这样:
DR4423 0.04 Number in Inventory: 24
LD342 34.24 Number in Inventory: 425
输出应如下所示,在库存数量的价格中有一个额外的字符 space:
DR4423 $ 700.04 Number in Inventory: 24
LD342 34.24 Number in Inventory: 425
如何让 "Number in Inventory" 排队?看起来示例中的第一项丢失了一个空字符 space,因为它只有 5 位数字而不是 6 位价格。在此先感谢您的帮助。
在价格和 'Number' 之间插入 \t
对你的情况应该没问题。
我认为你需要使用:
String.format("%-6s $%-7.2f Number in Inventory: %-3d", this.getBarcode(), this.getPrice(), this.getInventory());
或者,如果您想要将 space 添加到前面:
String.format("%-6s $%#7.2f Number in Inventory: %-3d", this.getBarcode(), this.getPrice(), this.getInventory());
注意 %-7
而不是 %-6
。句点算作一个字符。
-
in %-6.2f
表示您希望传递的数字向左对齐,例如:
|123,45|
|123,40|
|123,00|
|12,00 |
|1,00 |
如果您想将号码右对齐,例如:
|123,45|
|123,40|
|123,00|
| 12,00|
| 1,00|
然后简单地删除这个 -
。
您可能还应该将最小使用长度设置为 7
,因为 .
也需要一些 space,这意味着要生成
| 700.04|
1234567
您需要 7 个字符。
所以试试 %-6s $%7.2f Number in Inventory: %-3d
我一直在浏览论坛以找到对此的确切答案,但未能找到。这是我的代码:
String item = String.format("%-6s $%-6.2f Number in Inventory: %-3d", this.getBarcode(), this.getPrice(), this.getInventory());
两个项目的输出看起来像这样:
DR4423 0.04 Number in Inventory: 24
LD342 34.24 Number in Inventory: 425
输出应如下所示,在库存数量的价格中有一个额外的字符 space:
DR4423 $ 700.04 Number in Inventory: 24
LD342 34.24 Number in Inventory: 425
如何让 "Number in Inventory" 排队?看起来示例中的第一项丢失了一个空字符 space,因为它只有 5 位数字而不是 6 位价格。在此先感谢您的帮助。
在价格和 'Number' 之间插入 \t
对你的情况应该没问题。
我认为你需要使用:
String.format("%-6s $%-7.2f Number in Inventory: %-3d", this.getBarcode(), this.getPrice(), this.getInventory());
或者,如果您想要将 space 添加到前面:
String.format("%-6s $%#7.2f Number in Inventory: %-3d", this.getBarcode(), this.getPrice(), this.getInventory());
注意 %-7
而不是 %-6
。句点算作一个字符。
-
in %-6.2f
表示您希望传递的数字向左对齐,例如:
|123,45|
|123,40|
|123,00|
|12,00 |
|1,00 |
如果您想将号码右对齐,例如:
|123,45|
|123,40|
|123,00|
| 12,00|
| 1,00|
然后简单地删除这个 -
。
您可能还应该将最小使用长度设置为 7
,因为 .
也需要一些 space,这意味着要生成
| 700.04|
1234567
您需要 7 个字符。
所以试试 %-6s $%7.2f Number in Inventory: %-3d