2

我知道在Java中你可以使用 printf 比如

System.out.printf("check1 =  " + "%11.5f  percent\n", 2.0564);
System.out.printf("cat =     " + "%11.5f  percent\n", 1232.05);

但是如果说你有

int temp1 = 1.02
int temp2 = 12345.01234

并且您想将其转换为具有小数对齐的字符串。所以你会有

a = "DMC       1.02    percent"
b = "POLY  12345.01234 percent"

除了有一堆 if 语句来检查长度之外,还有什么方法可以做到这一点?

4

2 回答 2

3

利用:

String.format("%-15s%11.5f percent", "DMC", 1.02);
String.format("%-15s%11.5f percent", "POLY", 12345.01234);

它产生:

DMC           1.02000 percent
POLY      12345.01234 percent

您可能需要增加 的值%-15s才能正确拟合非常大的数字。

于 2012-08-10T16:05:45.383 回答
0

您可以使用字符串操作。

String text = "     " + value + "     ";
text = text.substring(text.indexOf('.') - 5, text.indexOf('.') + 5);
于 2012-08-10T16:06:01.037 回答