【问题标题】:Need some help with String.format在 String.format 方面需要一些帮助
【发布时间】:2009-10-19 12:24:32
【问题描述】:

我正在尝试查找有关在 java 中格式化字符串的完整教程。

我需要创建收据,如下所示:

中间的标题 '''''''''''''''''''''''''''' 项目 1 价格 项目 2 x 5 价格 Item3 有一个非常 长名称....价格 '''''''''''''''''''''''''''' 净价:xxx 总价:xxx 增值税:xxx 运费:xxx 总计:xxx '''''''''''''''''''''''''''' 中间页脚

【问题讨论】:

    标签: java string formatting


    【解决方案1】:

    这里记录了传递给 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$”等

    可选标志是一组 修改输出的字符 格式。有效标志集取决于 关于转换。

    可选宽度是非负数 指示最小值的十进制整数 要写入的字符数 输出。

    可选精度是 非负十进制整数通常 用于限制数量 人物。具体行为 取决于转换。

    所需的转换是一个字符 表明论点应该如何 格式化。有效的集合 给定参数的转换 取决于参数的数据类型。

    【讨论】:

      【解决方案2】:

      对于这种要求,格式化字符串有些复杂。 所以最好使用您提供的格式使用一些报告工具。 这将是更好的方法。

      水晶报表或其他易于实施的报表。

      【讨论】:

      【解决方案3】:

      尝试通过格式化字符串来做到这一点会花费你很多时间和精力。我建议使用 Stringtemplate 之类的模板引擎或类似的东西。

      通过这样做,您可以将演示文稿与数据分开,从长远来看,这将是一件非常好的事情。

      【讨论】:

        【解决方案4】:

        看看 java.text 包中的这些类是否有帮助..

        Format

        MessageFormat

        【讨论】:

          【解决方案5】:

          是的,正如 solairaja 所说,如果您打算创建报告或收据,您可以使用 Crystal 报告等报告工具

          Crystal ReportCrystal Report Tutorial

          或者,如果您打算使用 StringFormatting 本身,那么“StringBuffer”将是您可以使用它的最佳选择。

          【讨论】:

            【解决方案6】:

            您可能应该查看用于这种多行报告格式的 Java 模板工具。

            Velocity 简单且容错。 Freemarker 非常强大但更不宽容。我也许最初会看看 Velocity,如果你必须做更多这类工作,请进一步看看 Freemarker。

            【讨论】:

              【解决方案7】:

              看起来社区的一般建议是使用报告工具来解决您的问题的更好方法。

              这里有开源 Java 图表和报告工具的详细列表: http://java-source.net/open-source/charting-and-reporting

              在我看来,最知名的是Jasper Reports。网上有很多关于它的资源

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2010-12-16
                • 2015-12-21
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多