我正在尝试使用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/