2009-10-19 107 views
0

我想找到一個關於在java中格式化字符串的完整教程。需要一些String.format的幫助

我需要創建一個收據,這樣的:

 
     HEADER IN MIDDLE 
'''''''''''''''''''''''''''''' 
Item1     Price 
Item2 x 5    Price 
Item3 that has a very 
long name....   Price 
'''''''''''''''''''''''''''''' 
Netprice:     xxx 
Grossprice:    xxx 
VAT:      xxx 
Shipping cost:   xxx 
Total:     xxx 
'''''''''''''''''''''''''''''' 
     FOOTER IN MIDDLE 

回答

0

格式化字符串是一些什麼複雜的,對於這種要求。 因此,最好使用您提供的格式進行報告。 這將是更好的方法。

水晶報告或其他易於實現的報告。

+0

從來沒有聽說過這樣的工具,你有什麼鏈接? – Johannes 2009-10-19 12:27:11

+0

ru在java中使用web或windows應用程序 – solairaja 2009-10-19 12:30:09

+0

我正在使用windows – Johannes 2009-10-19 12:44:11

6

格式傳遞給的String.Format記錄在這裏:

http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html#syntax

從頁面:

的格式說明一般, 字符類型和數值類型有 語法如下:

%[argument_index$][flags][width][.precision]conversion 

可選參數argument_index是 十進制整數,指示 參數列表中參數的 位置。第一個參數是 由「$ 1」,第二個由 「2 $」引用,等等

的可選的標誌是一組 字符修改輸出 格式。該組有效標誌取決於 的轉換。

可選寬度是非負數 十進制整數,表示要寫入 輸出的最小字符數 。

可選精度爲 非負十進制整數通常爲 用於限制字符數 。具體行爲 取決於轉換。

所需的轉換是一個字符 ,指示參數應如何格式化爲 。給定參數 的一組有效 轉換取決於參數的數據類型。

0

試圖通過格式化字符串來做到這一點會花費你很多時間和精力。我會建議像Stringtemplate或類似的模板引擎。

通過這樣做,您將從數據中分離出演示文稿,從長遠角度看這將是一件非常好的事情。

0

是啊,作爲solairaja說,如果你正計劃與Crystal Reports

Crystal ReportCrystal Report Tutorial

或者,如果您打算創建報告或收據,你可以去報告工具如果要使用StringFormatting本身,那麼「StringBuffer」將是最好的選擇,因爲你可以使用它。

0

您應該看看用於這種多行報告格式的Java模板工具。

Velocity是簡單和寬容的錯誤。 Freemarker非常強大,但更不容忍。我會也許最初看速度,如果你不得不做更多這樣的工作,進一步看看Freemarker。