簡體   English   中英

Java格式字符串間距

[英]Java Format String Spacing

我一直在論壇中尋找有關此問題的確切答案,但一直未能做到。 這是我的代碼:

String item = String.format("%-6s $%-6.2f Number in Inventory: %-3d", this.getBarcode(), this.getPrice(), this.getInventory());

輸入的兩個項目的輸出看起來像這樣:

DR4423 $700.04 Number in Inventory: 24 
LD342  $1234.24 Number in Inventory: 425

輸出應如下所示,在價格中要有一個額外的字符空間,以使“庫存中的數字”排隊:

DR4423 $ 700.04 Number in Inventory: 24 
LD342  $1234.24 Number in Inventory: 425

如何使“庫存編號”排隊? 看起來示例中的第一項丟失了一個空字符空間,因為它只有5位數字而不是價格的6位數字。 先謝謝您的幫助。

我認為您需要使用:

String.format("%-6s $%-7.2f Number in Inventory: %-3d", this.getBarcode(), this.getPrice(), this.getInventory());

或者,如果您想在前面添加空間:

String.format("%-6s $%#7.2f Number in Inventory: %-3d", this.getBarcode(), this.getPrice(), this.getInventory());

注意%-7而不是%-6 句點被視為字符。

在價格和“數字”之間插入\\t應該可以正常工作。

-%-6.2f表示您希望傳遞的數字向左對齊,例如:

|123,45|
|123,40|
|123,00|
|12,00 |
|1,00  |

如果您想將數字右對齊,例如:

|123,45|
|123,40|
|123,00|
| 12,00|
|  1,00|

然后只需刪除此-

從開始,您還應該將最小已用長度設置為7 . 也需要一些空間

| 700.04|
 1234567

您需要7個字符。

因此,請嘗試使用%-6s $%7.2f Number in Inventory: %-3d

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM