我不知道如何在JAVA中右对齐这些列。我尝试了几种方法,但都不起作用。它适用于其他字符,但不适用于中文。
String line1="冻结金额";
String line2="投资中金额";
String line3="投资中金额额";
String line4="投资中金中金额";
System.out.format("%-10s %s %n",line1, "XX" );
System.out.format("%-10s %s %n",line2, "XX" );
System.out.format("%-10s %s %n",line3, "XX" );
System.out.format("%-10s %s %n",line4, "XX" );这是预期的结果,但即使在这里也不能正确显示
冻结金额 XX
投资中金额 XX
投资中金额额 XX
投资中金中金额 XX发布于 2013-09-23 22:45:22
您可以(ab-)使用、全角空格、"\u3000"
System.out.println(String.format("%-10s %s",line1, "XX").replace(" ", "\u3000"));尽管只需很少的工作,您就可以进行HTML输出。
发布于 2013-09-23 22:25:32
Java代码没有问题,只是输出的显示方式有问题。
输出如下:
冻结金额 XX
投资中金额 XX
投资中金额额 XX
投资中金中金额 XX 如果您实际上要计算字符数,或者执行以下操作:
System.out.println(String.format("%-10s %s ",line1, "XX").length());
System.out.println(String.format("%-10s %s ",line2, "XX").length());
System.out.println(String.format("%-10s %s ",line3, "XX").length());
System.out.println(String.format("%-10s %s ",line4, "XX").length());你会看到每一行都有相同的长度(14)。
问题是,显示字体显示的中文字符与其他字符的大小不同。
发布于 2013-09-24 07:51:41
我使用这个方法,但是我不知道它如何处理中文字符:
public String padRight(String s, int n)
{
return String.format("%1$-" + n + "s", s);
}这样叫它:padRight(StringToBePaddedToTheRight, intNumberOfPadsToTheRight);
https://stackoverflow.com/questions/18961628
复制相似问题