我想使用Samsung Mobile Print应用程序打印以下帐单。我格式化它(使用String.format(%25s,itemName)),并且在google驱动器或OfficeSuite应用程序中查看文件时它们之间的空格相等。但是当我在任何打印应用程序,甚至是移动设备中的文本编辑器中打开它时,内容完全失真,格式化完成就像下面的文本一样丢失。
Chicken Chettinad Half 70 1 70
Chicken Chettinad Full 130 1 130
Andhra Chicken Curry 70 1 70
Andhra Chicken Curry 130 1 130
Chapati 10 1 10
我希望它看起来像下面的文字。
1. Chicken Chettinad Half 70 1 70
2. Chicken Chettinad Full 130 1 130
3. Andhra Chicken Curry 70 1 70
4. Andhra Chicken Curry 130 1 130
5. Chapati 10 1 10
答案 0 :(得分:1)
如果您希望文本文件在列之间保持正确的缩进,则可以为String.format
调用中的每列和对齐提供最大宽度。
例如这段代码:
String[] name = {"Chapati", "Chicken Chettinad Full"};
int[] price = {70, 130};
int[] quantity = {1, 1};
String res = "";
for (int i = 0; i < name.length; ++i) {
res += String.format("%2d. %-23s %4d %4d %4d%n", i + 1, name[i],
price[i], quantity[i], price[i] * quantity[i]);
}
System.out.println("res = \n" + res);
将打印输出:
1. Chapati 70 1 70
2. Chicken Chettinad Full 130 1 130