我正在尝试使用Java的String.format格式化字符串。
我需要创建一个像这样的字符串:"<padding spaces> int1 / int2"

现在,我有以下格式:" %1$d/%2$d10""%1$d10/%2$"(或者只是"%1$d/%2$d",没有宽度设置),但这不能正常工作。我想将字符串向右对齐,以空格作为填充,总宽度为10。

我在代码的其他地方使用"%1$10.1f"进行单个浮点运算。需要将双整数填充为相同的宽度。

我已经绞尽脑汁,但是无法找到一种方法来填充总字符串而不是两个单独的整数。
帮助将不胜感激!

最佳答案

首先使用以下命令创建双整数字符串:

int one = 1;
int two = 2;
String dints = String.format("%d / %d", one, two);


然后将字符串dints设置为10的宽度:

String whatYouWant = String.format("%10s", dints);


打印whatYouWant应输出:

     1 / 2


您也可以在一次调用中完成此操作,但会降低可读性,例如:

String whatYouWant = String.format("%10s", String.format("%d / %d", one, two));


或更短:

String whatYouWant = String.format("%10s", one + " / " + two);

关于java - Java string.format具有多个参数的整体宽度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41685267/

10-14 14:03
查看更多