具有固定宽度的String.format十进制,零填充且无小数分隔符

时间:2014-06-28 23:04:59

标签: java spring-batch formatter

我有一个双(例如:123.45),我需要生成一个像0000012345这样的字符串。

我正在尝试仅使用String.format(Formatter)。我可以使用DecimalFormat然后替换All,但我想知道我是否可以使用formatter获得相同的结果。 原因是我会将它与FormatterLineAggregator(春季批次)一起使用。

[编辑] - 强调问题原因。标记为弹簧批次也。包含弹簧批文档的链接。

从Spring Batch doc:“...底层实现是使用与Java 5中添加的相同Formatter构建的.Java Formatter基于C编程语言的printf功能。大多数详细信息如何配置formatter可以在Formatter的javadoc中找到。“。

Spring Batch itemWriter link

1 个答案:

答案 0 :(得分:0)

您可以将值存入Formattable并使用Formattable#formatTo生成所需的输出吗?

据我所知,无法在标准String.format("%f")输出中抑制小数点分隔符。即使您添加了DecimalFormatSymbolsProvider类,它仍然必须从DecimalFormatSymbols.html#getDecimalSeparator()返回char值。