我正在尝试查找有关在java中格式化字符串的完整教程。
我需要创建收据,如下所示:
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 :(得分: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 $”等。
可选标志是一组 修改输出的字符 格式。有效标志集取决于 关于转换。
可选宽度为非负数 十进制整数表示最小值 要写入的字符数 输出。
可选的精度是a 通常是非负十进制整数 用来限制数量 字符。具体行为 取决于转换。
所需的转化是一个字符 说明参数应该如何 格式化。这套有效 给定参数的转换 取决于参数的数据类型。
答案 1 :(得分:0)
格式化字符串是一些复杂的。 所以最好使用你给出的格式来获取一些报告工具。 这将是更好的方法。
水晶报告或其他易于实施的报告。
答案 2 :(得分:0)
尝试使用格式化字符串来执行此操作会花费您很多时间和精力。我会建议像Stringtemplate这样的模板引擎或类似的东西。
通过这样做,您可以将演示文稿与数据分开,从长远来看,这将是一件非常好的事情。
答案 3 :(得分:0)
答案 4 :(得分:0)
是的,如solairaja所说,如果你打算创建报告或收据,你可以像Crystal报告那样使用报告工具
Crystal Report Crystal Report Tutorial
或者如果您打算使用StringFormatting本身,那么“StringBuffer”将是您可以使用它的最佳选择。
答案 5 :(得分:0)
您应该查看用于此类多行报告格式的Java模板工具。
Velocity简单且容忍错误。 Freemarker非常强大,但更不容忍。我最初可能 看看Velocity,如果你需要做更多这类工作,请进一步了解Freemarker。
答案 6 :(得分:0)
看起来社区的一般建议是使用报告工具解决问题的更好方法。
这里有一个开源Java图表和报告工具的详细列表: http://java-source.net/open-source/charting-and-reporting
在我看来,最着名的是Jasper Reports。有关它的大量资源可在网上找到