【发布时间】:2012-01-05 10:53:57
【问题描述】:
我正在编写一个程序,但遇到以下要求:
输出到一个固定格式的文件
Total 1 Total 2
---------------- ----------------
311,862.33 23,456.00
40,000.00 789,123.00
如上例,金额字符串的长度不同。
要求金额应始终从“连字符”的末尾开始。
如何做到这一点?
我知道可以通过以下方式实现字符串的左右填充:
String.format("%1$#20s", "311,862.33");
String.format("%1$-15s", "12345");
但是在我的情况下如何实现每行中有多个字符串并且字符串长度是动态的?
在下面的代码中找到了将金额格式化为单列的代码。但是如何实现多列相同,即同一行中的多个金额?
String format = "%10.2f\n"; // width == 10 and 2 digits after the dot
float [] floats = {123.45f, 99.0f, 23.2f, 45.0f};
for(int i=0; i<floats.length; i++) {
float value = floats[i];
System.out.format(format, value);
}
这将给出如下输出:
123.45
99.00
23.20
45.00
感谢阅读!
【问题讨论】:
标签: java string formatting format